springboot读取properties(yml)的几种常用方式
boot项目中一些秘钥等不常变动的信息大多存储在配置文件中,那么我们怎么获取配置文件中的属性呢?
以获取server端口号为例讲解几种方法;配置信息如下

一:使用@Value注解
@Value("${server.port}")
private String port;
二:使用@ConfigurationProperties注解
@ConfigurationProperties(prefix = "spring.datasource")
public class BootStrap {
private String port;
public void setPort(String port) {
this.port = port;
}
}
三:使用EnvironmentAware接口
public class DatabaseConfiguration implements EnvironmentAware {
private static final Logger logger = LoggerFactory.getLogger(DatabaseConfiguration.class);
@Resource
private Environment env;
private RelaxedPropertyResolver resolver;
@Override
public void setEnvironment(Environment environment) {
this.env = environment;
this.resolver = new RelaxedPropertyResolver(environment,"spring.datasource.");
}
//用法实例
public void test(){
resolver.getProperty("url");
}
}
到此,本文只记录了三种常用的用法,具体使用哪种还要看项目中哪种方便。
作者:
不二尘
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。


浙公网安备 33010602011771号