【微服务】spring读取配置文件多种方式深入详解
Spring框架提供了多种方式来读取配置文件,这里我们将详细介绍几种方式:
- 使用
@Value
注解
@Value("${some.property}")
private String property;
- 使用
Environment
接口
@Autowired
private Environment env;
public String getProperty() {
return env.getProperty("some.property");
}
- 使用
@ConfigurationProperties
注解
首先,创建一个配置类:
@ConfigurationProperties(prefix = "some")
public class SomeProperties {
private String property;
public String getProperty() {
return property;
}
public void setProperty(String property) {
this.property = property;
}
}
然后,将其注册为一个Bean:
@EnableConfigurationProperties(SomeProperties.class)
@Configuration
public class AppConfig {
}
最后,在需要的地方注入这个Bean:
@Autowired
private SomeProperties someProperties;
- 使用
@PropertySource
和Environment
@Configuration
@PropertySource("classpath:some.properties")
public class AppConfig {
@Autowired
private Environment env;
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
public String getProperty() {
return env.getProperty("some.property");
}
}
- 使用
@ConfigurationProperties
与@PropertySource
@Configuration
@PropertySource("classpath:some.properties")
@EnableConfigurationProperties(SomeProperties.class)
public class AppConfig {
}
以上方法可以根据具体需求选择使用,Spring还支持更多高级配置方法,例如配置文件位置不同,配置文件格式(如YAML),以及使用配置服务器等。
评论已关闭