springboot中 用Environment 读取指定文件的值
时间: 2024-10-25 10:04:30 浏览: 11
SpringBoot-2.7.6读取配置文件的方式
在Spring Boot中,`Environment` 类是一个接口,它代表了应用程序运行时的环境配置信息,通常通过`@Autowired`注入到需要环境变量的bean中。如果你想要从外部文件中读取特定的配置值,而不是默认的系统属性或Spring应用配置,可以采用自定义配置源或者使用`PropertySourceLoader`。
一种常见的方式是使用`PropertySourcesPlaceholderConfigurer`,这会加载外部文件如`.properties`或`.yml`作为额外的`PropertySource`。首先,你需要创建一个配置文件,比如`application.properties`:
```properties
# application.properties
myConfigValue = this-is-read-from-file
```
然后,在Spring Boot的配置类中添加`PropertySourcesPlaceholderConfigurer`:
```java
@Configuration
public class AppConfig {
@Autowired
private Environment env;
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
@PostConstruct
public void init() {
String configValue = env.getProperty("myConfigValue");
System.out.println("Config value from file: " + configValue);
}
}
```
在这个例子中,`configValue`将会是你从`application.properties`文件中读取的值。
阅读全文