Spring Boot获取Active Profile的值

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2015/02/07/spring-boot-values/

Spring Boot提供了profile机制,可以快速的在不同情况下切换配置。

默认支持很多配置,从Spring整体的行为到具体的数据库,渲染引擎的行为都有支持。按照文档给出的配置名称和可选值操作就可以了。

有些时候我们需要基于profile来实现自己的一些配置,这个时候就需要自己完成一些后面的细节了。

举个比较常见的例子,profile分为了dev和prod两种。而项目本身需要支持上传图片功能,需要在profile中指定文件配置,比如

upload.path=C:Users315junAppDataLocalTemp

要获取这个值,我们有三种办法

  • 从Env中读取
@Autowired
private Environment env;
String path=env.getProperty("upload.path");
  • 构造一个Config类,通过注解自动注入
@ConfigurationProperties(prefix ="upload")
publicclass UpdatePathConfig {
private String path;

public StringgetPath() {
return path;
}

publicvoidsetPath(String path) {
this.path = path;
}
}
  • 通过Value注解注入
    这种方法最直接,在对应的字段上标注即可。
@Value("${upload.path}")
private String path;

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2015/02/07/spring-boot-values/

发表评论