• springboot的配置文件


    一、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的配置文件,让配置文件里面的内容生效

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

    四、配置文件占位符

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

  • 相关阅读:
    Anaconda下载及安装教程
    机器学习之一元线性回归模型
    PyCharm下载及安装教程
    Python基础之数据类型、变量、常量
    新旧代码的兼容(c和c++)
    埃拉托斯特尼--筛法 c++求质数,用bitset类型
    使用预处理器进行调试
    刷题-网易2018实习生招聘笔试题
    深度优先搜索-DFS遍历图-C++
    图--邻接矩阵c++
  • 原文地址:https://www.cnblogs.com/yanfei1819/p/9668092.html
Copyright © 2020-2023  润新知