zoukankan      html  css  js  c++  java
  • 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的配置文件,让配置文件里面的内容生效

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

    四、配置文件占位符

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

  • 相关阅读:
    c语言提高学习笔记——02-c提高07day
    c语言提高学习笔记——02-c提高06day
    c语言提高学习笔记——02-c提高05day
    c语言提高学习笔记——02-c提高04day
    c语言提高学习笔记——02-c提高03day
    菜鸡的 分块 刷题记录
    是输入输出的小技巧和细节们
    蒟蒻的 线性基 刷题记录
    曼哈顿距离,欧几里得距离学习笔记
    用 Github.io 和 Hexo 创建你的第一个博客
  • 原文地址:https://www.cnblogs.com/yanfei1819/p/9668092.html
Copyright © 2011-2022 走看看