Spring Boot中@ConfigurationProperties的使用

簡介

下面來簡單介紹下Sping Boot中如何使用@ConfigurationProperties加載配置文件的內容java

使用方式

  1. 要加載配置文件的內容,咱們得先建立一個配置文件,文件位置在項目的resources中,文件名爲application.properties
    my.name=lixuelong
    my.gender=man
    my.age=25

     

  2. 接着,咱們再建立一個與該配置對應的對象,文件位置在包DTO中,文件名爲MyInfoConfig.java
    package cn.lixuelong.DTO;
    
    import org.springframework.boot.context.properties.ConfigurationProperties;
    
    @ConfigurationProperties(prefix = "my")
    public class MyInfoConfig {
    
        private String name;
    
        private String gender;
    
        private String age;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getGender() {
            return gender;
        }
    
        public void setGender(String gender) {
            this.gender = gender;
        }
    
        public String getAge() {
            return age;
        }
    
        public void setAge(String age) {
            this.age = age;
        }
    
        @Override
        public String toString() {
            return "MyInfoConfig{" +
                    "name='" + name + '\'' +
                    ", gender='" + gender + '\'' +
                    ", age='" + age + '\'' +
                    '}';
        }
    }

    你應該注意到這個對象上的@ConfigurationProperties(prefix="my") 這個註解了,屬性prefix="my" 就是要告訴Sping Boot 我要加載application.properties中以"my."開頭的屬性(對象中的字段要和屬性的名稱一一對應)spring

  3. 而後咱們在Sping Boot的主類中進行下配置
    @RestController
    @EnableAutoConfiguration
    @EnableConfigurationProperties(MyInfoConfig.class)
    public class Application {
    
        @Autowired
        public MyInfoConfig myInfoConfig;
    
        @RequestMapping("/")
        public String home() {
            return myInfoConfig.toString();;
        }
    
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    }

    主要看@EnableConfigurationProperties(MyInfoConfig.class) 和 @Autowired 這兩句,到這,配置的屬性就已經被注入進來了app

  4. 那若是個人屬性不是寫在application.properties中呢?那也簡單,好比說,將application.properties更名爲myInfo.properties,只需將MyInfoConfig.java中的配置稍做改動便可
    @ConfigurationProperties(locations="classpath:/myInfo.properties",prefix = "my")

     

  5. 運行Application.java中的main方法,沒有錯誤的話,訪問一下 http://localhost:8080/ ,是否是看到你配置的屬性了~ide

相關文章
相關標籤/搜索