美文网首页
Spring Boot配置文件

Spring Boot配置文件

作者: Yanl__ | 来源:发表于2019-12-25 15:10 被阅读0次

    1.YAML
    2.properties


    1.YAML

    YAML:以数据为中心,比json、xml等更适合做配置文件

    #yaml
    server:
        port: 8081
    
    <!--  xml -->
    <server>
        <port>8081</port>
    </server>
    

    1. 基本语法

    k:(空格)v: 表示一对键值对(空格必须有)
    属性和值也是大小写敏感

    server:
        port: 8081
        path: /hello
    

    2. 值的写法

    2.1 普通的值

    k: v:
    字符串默认不用加单引号或双引号
    "": 双引号,不会转移字符串中的特殊字符
    '': 单引号,会转移特殊字符,特殊字符只是一个普通的字符

    2.2 对象、Map
    对象还是k: v: 的写法

    friends:
        lastName: zhangsan
        age: 20
    
    # 行内写法
    friends: {lastName: zhangsan,age: 20}
    

    2.3 数组(List、Set)
    用 -(空格)值 来表示数组中的一个元素

    pets:
     - dog
     - cat
    
    # 行内写法
    pets: [dog,cat]
    

    3.值的获取

    1. 配置文件:
    person:
      name: taylor
      age: 23
    
    1. javabean:
    • 将配置文件中配置的每一个属性的值,映射到这个组件中
    • @ConfigurationProperties: 告诉SpringBoot将本类中的所有属性和配置文件中相关配置进行绑定
    • prefix = "person" : 配置文件中哪个下面的所有属性进行一一映射
    • 只有这个组件是容器中的组件,才能使用容器的功能。@Component注解,将其交给容器管理
    @Component
    @ConfigurationProperties(prefix = "person")
    public class Person {
    
        private String name;
        private Integer age;
    
    1. 测试
      可以自动注入
    @SpringBootTest
    class Springboot01HelloworldQuickApplicationTests {
    
        @Autowired
        private Person person;
    
        @Test
        void contextLoads() {
            System.out.println(person);
        }
    }
    

    2.properties

    1. 配置文件:
    person.name=章三
    person.age=22
    
    1. 获取值
      两种从配置文件中获取值的方式,一种Spring表示式语言直接赋值
      2.1 方式一:@ConfigurationProperties(prefix = "person")自动注入
      2.2 方式二:private String name; 在属性上注解@Value("${person.name}")
      2.3 直接给属性赋值: private String name; 在属性上注解@Value("#{369}")
    @ConfigurationProperties @Value
    功能 批量注入配置文件中的属性 一个一个指定
    松散绑定(松散语法) 支持 不支持
    SpEL 不支持 支持
    JSR303数据校验 支持 不支持
    复杂类型封装 支持 不支持
    • 使用情况:
      只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value
      专门编写一个JavaBean来和配置文件进行映射,使用@ConfigurationProperties
    1. 配置文件占位符
      3.1 随机数
      3.2 占位符获取之前的配置
      如果没有,可以用 : 来指定默认值
    ${random.value}  ${random.int}
    
    ${person.name:taylor}
    

    相关文章

      网友评论

          本文标题:Spring Boot配置文件

          本文链接:https://www.haomeiwen.com/subject/qbixoctx.html