zoukankan      html  css  js  c++  java
  • spring boot 获取配置文件的值

    1.yaml形式配置

    1.yaml

      Persion:
            name: 张三
            age: 18
            birthday: 2017/8/21
            pets: {name: dog,age: 2}
            frients: [lisi,wangwu,zhaoliu]

    2.java

    在需要使用读取yaml配置文件中的值的时候需要添加@configurationproperties 注解prefix标记了需要读取配置文件中那个那个配置下的属性进行一一映射

     @Data
        @ConfigurationProperties(prefix = "Persion")
        @Component
        public class Persion implements Serializable {
            public String name;
            public int age;
            public Date birthday;
            public Map<String,Object> pets;
            public List<String> frients;
        }
    
        @Data
        public class Pet implements Serializable {
            public String name;
            public Integer age;
        }

    如果不使用@configurationproperties注解系统会报

    SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

    如果不添加prefix属性时,获取的属性值都为null

    在包装map类型时,map的值如果为对象,需要使用Object或者?标识,不然系统会报系统无法转换错误

    3.controller

        @Controller
        public class Test {
    
            @Autowired
            private Persion persion;
    
            @RequestMapping("/sayHello")
            @ResponseBody
            public Persion sayHello(){
                return persion;
            }
        }

    4.pom文件

    需要读取yaml配置文件中的值时需要在pom文件中添加配置文件解析器,该解析器的作用是将配置文件中的值和标记了@configurationproperties的类的属性进行对应映射

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

    2.properties形式配置

     server.port=8082
        Persion.age=12
        Persion.birthday=207/12/12
        Persion.frients=a,c,v
        Persion.name=李四
        Persion.pets.name="dog"
        Persion.pets.age=3

    在properties配置文件中使用中文时需要进行设置,idea需要在读取时将文件转码,在file->setting->editor->file encodings下把transparent native-to-ascll conversion勾选上就行了。

  • 相关阅读:
    天使投资家李镇樟:如何培养世界级企业家
    [案例分析] 打造值得信任的个人品牌究竟靠什么?
    怎能相逢
    企业的创新和创新的双面性
    给创业者的忠告:中国互联网的柏金森定律
    梦想的婚礼
    企业人,需守候精神商业的价值
    我与东方
    五种成功创业模式让你轻松赚到钱
    一招一式, 成就“霸业”必做的9件大事
  • 原文地址:https://www.cnblogs.com/fanxl/p/9123015.html
Copyright © 2011-2022 走看看