spring boot 获取properties 属性值 多种方式

spring boot 在多环境情况下我们需要根据不同的获取不一样的值, 我们会配置在不同的文件中,

那么我们怎么获取配置的属性值呢! 下面介绍几种用法。
1. 除了默认配置在application.properties 的多环境中添加属性:
我们会在application.properties 中激活不同方式选择下面的不同文件进行发布。
## 设置的激活参数:dev, test, prod

  1. spring.profiles.active=prod
application-dev.properties
application-test.properties
application-prod.properties
如:
  1. url.lm=editMessage
  2. url.orgCode=100120171116031838
  3. url.ybd=http://www.test.com/sales/ 
  4. url.PostUrl=/LmCpa/apply/applyInfo
获取属性可以:
定义配置类:
  1. @ConfigurationProperties(prefix = "url")
  2. public class  ManyEnvProperties{
  3.    private String lm;
  4.    private String orgCode;
  5.    private String ybd;
  6.    private String postUrl;
  7.    // 省列getter setter 方法
  8.    // ....
  9. }
https://blog.csdn.net/u012869130/article/details/77934565?locationNum=1&fps=1 获取map
2. 使用之前在spring 中加载的value值形式
  1. @Component
  2. public class ManyEnvProperties {
  3.    @Value("${url.lm}")
  4.    private String lmPage;
  5.    @Value("${url.ybd}")
  6.    private String sendYbdUrl;
  7.    @Value("${url.orgCode}")
  8.    private String orgCode;
  9.    @Value("${url.PostUrl}")
  10.    private String PostUrl;
  11.    // 省列getter setter 方法
  12.    // ....
  13. }
3. 也可以使用spring boot 里面的 Environment 直接取值
显示注入, 其次是在需要的地方获取值
  1. @Autowired
  2. private Environment env;
  3. logger.info("===============》 " + env.getProperty("url.lm"));
4. 如果是自己新建的一个properties 文件:
  1. @Component
  2. @ConfigurationProperties(prefix = "url")
  3. @PropertySource("classpath:/platform.properties")
  4. public class PropertiesEnv {
  5.    private String lm;
  6.    private String orgCode;
  7.    private String ybd;
  8.    private String postUrl;
  9.    // 省列getter setter 方法
  10.    // ....
  11. }

作者:zhongzunfa

转自:https://blog.csdn.net/zhongzunfa/article/details/78644362


如果给你带来帮助,欢迎微信或支付宝扫一扫,赞一下。