Springboot启动类中如何获取到Environment对象
时间: 2024-02-25 07:52:39 浏览: 19
在Spring Boot启动类中,可以通过在类上添加注解`@SpringBootApplication`来启用Spring Boot应用程序。获取到Environment对象的方式有以下两种:
1. 使用@Autowired注解将Environment对象注入到启动类中:
```java
@SpringBootApplication
public class DemoApplication {
@Autowired
private Environment env;
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@PostConstruct
public void init() {
String url = env.getProperty("spring.datasource.url");
// TODO: do something with url
}
}
```
在上面的代码中,我们在启动类中定义了一个Environment类型的成员变量,并使用@Autowired注解将其注入到启动类中。在init()方法中,我们使用getProperty()方法获取了配置文件中的spring.datasource.url配置信息。
2. 使用CommandLineRunner回调函数获取Environment对象:
```java
@SpringBootApplication
public class DemoApplication implements CommandLineRunner {
private Environment env;
public DemoApplication(Environment env) {
this.env = env;
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
String url = env.getProperty("spring.datasource.url");
// TODO: do something with url
}
}
```
在上面的代码中,我们在启动类中实现了CommandLineRunner接口,并在构造函数中注入了Environment对象。在run()方法中,我们使用getProperty()方法获取了配置文件中的spring.datasource.url配置信息。