一、springboot配置文件值的注入

  • @ConfigurationProperties(prefix = "xxx")

    实例代码:

    @Component
    @ConfigurationProperties(prefix = "person")
    @Validated
    public class Person {
    @Email(message = "邮箱格式错误")
    private String email;
    private String name;
    private Integer age;
    private Date birthday;
    // get/set/toString省略
    }
    person:
    name: xxx
    age: 27
    birthday: 1991/09/01
    email: yanfei@163.com
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class ExampleApplicationTests {
    @Autowired
    private Person person;
    @Test
    public void testConfigurationProperties() {
    System.out.println(person);
    }
    }
  • @Value

    @Component
    public class Person {
    private String email;
    @Value("${person.name}")
    private String name;
    private Integer age;
    private Date birthday;
    // get/set/toString省略
    }
  • @Value获取值和@ConfigurationProperties获取值比较

    @ConfigurationProperties @Value
    功能 批量注入配置文件中的属性 一个个指定
    松散绑定(松散语法) 支持 不支持
    SpEL 不支持 支持
    JSR303数据校验 支持 不支持
    复杂类型封装 支持 不支持

二、yaml配置文件中各类型值得写法

person:
name: xxx
age: 27
birthday: 1991/09/01
email: xxx@163.com
# list写法
books:
- math
- english
#map
map: {v1: k1,v2: k2}
#object1
friends: {name: Tom,age: 12}
#object2
# friends:
# name: Job
# age: 12

三、从自定义配置文件中读取配置信息

  • @PropertySource
@PropertySource(value = "classpath:common/application-dev.properties")

注意:默认从全局配置文件中获取值

  • @ImportResource(locations = {"classpath:beans.xml"}):导入Spring的配置文件,让配置文件里面的内容生效

但是这种方式不常用,推荐使用全注解的方式。

四、配置文件占位符

如果没有,可以指定默认值

最新文章

  1. MySQL Performance-Schema(二) 理论篇
  2. jq点击小图 弹出大图(更新版)
  3. 修改server 2008远程桌面端口
  4. AX2012 审批流流转到已停用的域账号导致审批流停止
  5. thread_LockSupport
  6. css选择器权值
  7. DB天气app冲刺二阶段第十一天(完结)
  8. STM32 TIM重映射
  9. 并发情况下synchronized死锁
  10. Android使用webService
  11. Linux命令不熟悉(记录)
  12. memset的用法
  13. Python——设计模式——单例模式
  14. java 随机生成6位短信验证码
  15. (20/24) webpack实战技巧:watch实现热打包和添加代码备注
  16. android -------- 压缩图片文件工具类
  17. 记账本NABCD分析
  18. Docker容器学习梳理 - 基础知识(1)
  19. Xamarin Android组件篇教程RecylerView动画组件RecylerViewAnimators(1)
  20. ROS Industrial 简介

热门文章

  1. 剑指Offer - 九度1387 - 斐波那契数列
  2. 《Cracking the Coding Interview》——第18章:难题——题目7
  3. oschina添加ssh公钥一记
  4. Python 模块:random 随机数生成
  5. appium+python的APP自动化(2)
  6. tomcat启动后服务访问404
  7. 爬虫:Scrapy15 - 调试(Debugging)Spiders
  8. ACM基础算法入门及题目列表
  9. TOJ 3046: 招商银行网络系统
  10. Problem 1036 四塔问题