美文网首页
spring boot 加载配置文件

spring boot 加载配置文件

作者: 好大一只鹏 | 来源:发表于2020-02-06 18:35 被阅读0次

    Spring boot加载配置文件@Value

    配置文件application.property
    property =value
    代码中:
    public void test(){
           @Value("${property}")
           private boolean property;
    }
    如果是yml文件的话(注意后面带一个空格)
    bean: 
      name: springboot
      age: 20
    代码:
    public void test(){
           @Value("${bean.name}")
           private String name;
           @Value("${bean.age}")
           private Integer ;
    }
    

    使用@ConfigurationProperties注解赋值属性

    @ConfigurationProperties(prefix = "bean")
    @Component
    public class test() {
    
        private String name;
        private Integer age;
    
       // getter setter省略
    }
    

    使用自定义配置文件

    如果不想在application.yml文件中配置属性,也可以在自定义的文件中配置

    1.新建不是application.property或者yml的文件名为 test.yml
    bean: 
           name : 小张
    
    @Configuration
    @PropertySource("classpath:test.yml")
    @ConfigurationProperties(prefix = "bean")
    public class PropertiesBean2 {
        private String name;
        private Integer age;
    
        // getter setter 省略
    }
    这里使用@PropertySource获取配置文件的位置属性的获取使用上述
    

    加载其他配置文件

    这里是application.yml
    spring:
      profiles :
           active : db
    新建application-db.yml
    bean: 
       name:小张
    注:配置文件名称需要时application-xx.yml格式
    通过spring profiles active 来确定启用那个配置文件
    

    外部命令行参数直接传入环境变量优先级高于配置文件

    image.png

    YAML语法:

    1、基本语法
    k:(空格)v:表示一对键值对(空格必须有);

    以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的
    2、值的写法
    字面量:普通的值(数字,字符串,布尔)
    ​ k: v:字面直接来写;

    ​ 字符串默认不用加上单引号或者双引号;

    ​ "":双引号;不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思

    ​ name: "zhangsan \n lisi":输出;zhangsan 换行 lisi

    ​ '':单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据

    ​ name: ‘zhangsan \n lisi’:输出;zhangsan \n lisi

    对象、Map(属性和值)(键值对):
    ​ k: v:在下一行来写对象的属性和值的关系;注意缩进

    ​ 对象还是k: v的方式
    行写法:

    friends: {name: 小张,age: 18}
    

    相关文章

      网友评论

          本文标题:spring boot 加载配置文件

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