• Spring Boot读取properties


    原文地址:http://www.yiidian.com/springboot/springboot-properties.html

    Spring Boot里面有两个注解可以读取application.properties或application.yml文件的属性值。

    1. @Value
    2. @ConfigurationProperties

    1 @Value

    1.1 基本类型

    1)配置

    nickname=eric
    age=20
    

    2)SpringBoot读取配置

    /**
     * @Value注解 - 读取application.properties属性
     * 一点教程网 - www.yiidian.com
     */
    @Controller
    public class ConfigController {
    
        //1.1 读取基本类型
        @Value("${nickname}")
        private String nickname;
        @Value("${age}")
        private Integer age;
    

    1.2 JavaBean类型

    1)配置

    user.nickname=jack
    user.age=18
    

    2)SpringBoot读取配置

    /**
     * @Value注解 - 读取application.properties属性
     * 一点教程网 - www.yiidian.com
     */
    @Controller
    public class Config2Controller {
    
        //1.2 读取JavaBean类型
        @Value("${user.nickname}")
        private String nickname;
        @Value("${user.age}")
        private Integer age;
    		```
    ### 1.3 数组/List集合
    
    1)配置
    ```properties
    user.list=eric,jack,rose
    

    2)SpringBoot读取配置

    /**
     * @Value注解 - 读取application.properties属性
     * 一点教程网 - www.yiidian.com
     */
    @Controller
    public class Config3Controller {
    
        //1.3 读取数组/List集合类型
        @Value("#{'${user.list}'.split(',')}")
        private List<String> list;
    

    1.4 Map集合

    1)配置

    user.map={nickname:'eric',age:20}
    

    2)SpringBoot读取配置

    /**
     * @Value注解 - 读取application.properties属性
     * 一点教程网 - www.yiidian.com
     */
    @Controller
    public class Config4Controller {
    
        //1.4 读取Map集合类型
        @Value("#{${user.map}}")
        private Map<String,Object> map;
    

    2 @ConfigurationProperties

    2.1 基本类型

    1)配置

    nickname=eric
    age=20
    

    2)SpringBoot读取配置

    /**
     * @ConfigurationProperties注解 - 读取application.properties属性
     * 一点教程网 - www.yiidian.com
     */
    @Controller
    @ConfigurationProperties(prefix = "")
    public class Config5Controller {
    
        //1.1 读取基本类型
        private String nickname;
        private Integer age;
        public void setNickname(String nickname) {
            this.nickname = nickname;
        }
        public void setAge(Integer age) {
            this.age = age;
        }
    

    注意以下几点:

    • prefix:代表属性的前缀,如果user.nickname前缀就是user
      属性名称必须和
    • properties文件的属性名保持一致
      属性必须提供setter方法来注入文件的属性值

    2.2 JavaBean类型

    1)配置

    user.nickname=jack
    user.age=18
    

    2)SpringBoot读取配置

    /**
     * @ConfigurationProperties注解 - 读取application.properties属性
     * 一点教程网 - www.yiidian.com
     */
    @Controller
    @ConfigurationProperties(prefix = "user")
    public class Config6Controller {
    
        //1.2 读取JavaBean类型
        private String nickname;
        private Integer age;
    
        public void setNickname(String nickname) {
            this.nickname = nickname;
        }
    
        public void setAge(Integer age) {
            this.age = age;
        }
    

    2.3 数组/List集合

    1)配置

    user.list2[0]=eric
    user.list2[1]=jack
    user.list2[2]=rose
    

    2)SpringBoot读取配置

    /**
     * @ConfigurationProperties注解 - 读取application.properties属性
     * 一点教程网 - www.yiidian.com
     */
    @Controller
    @ConfigurationProperties(prefix = "user")
    public class Config7Controller {
    
        //1.3 读取数组/List集合类型
        private List<String> list2;
        public void setList2(List<String> list2) {
            this.list2 = list2;
        }
    

    2.4 Map集合

    1)配置

    user.map2.nickname=eric
    user.map2.age=20
    ```properties
    2)SpringBoot读取配置
    ```java
    /**
     * @ConfigurationProperties注解 - 读取application.properties属性
     * 一点教程网 - www.yiidian.com
     */
    @Controller
    @ConfigurationProperties(prefix = "user")
    public class Config8Controller {
    
        //1.4 读取Map集合类型
        private Map<String,Object> map2;
        public void setMap2(Map<String, Object> map2) {
            this.map2 = map2;
        }
    

    源码下载:https://pan.baidu.com/s/1eAwxjQClVt3TxuqtL6VbIA

    file

    欢迎关注我的公众号::一点教程。获得独家整理的学习资源和日常干货推送。
    如果您对我的系列教程感兴趣,也可以关注我的网站:yiidian.com

  • 相关阅读:
    ubuntu 9.04更新源
    想学一下asp.net,跟着书本做了个bbs
    [转]ubuntu系统中遇到的一些问题及解决
    第一篇,打个招呼
    人际交往的书籍推荐
    程序员的五层境界,你在哪一层?
    HTTP报文之"请求报文"和"响应报文"详解
    如何提高你的工作效率?
    面对焦虑我们怎么办 ?
    CEO要看的书籍推荐
  • 原文地址:https://www.cnblogs.com/yiidian/p/12403074.html
Copyright © 2020-2023  润新知