打卡7:基於properties的類型安全配置

  1. application.properties文件

    muzi.name=keyloved
    muzi.age=23
    
  2. 類型安全的Bean類

    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    @Component
    /**
     * 通過@ConfigurationProperties加載properties文件內的配置,prefix="muzi"屬性指定properties的配置前綴爲muzi
     */
    @ConfigurationProperties(prefix = "muzi")
    public class MuziSettings {
    
        private String name;
        private int age;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    }
    
  3. 測試代碼

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    @SpringBootApplication
    public class MuziApplication {
    
        @Autowired
        private MuziSettings muziSettings;
    
        @RequestMapping("/muzi")
        public String index() {
            return "name:"+ muziSettings.getName() + ",and age:" + muziSettings.getAge();
        }
    
        public static void main(String[] args) {
            SpringApplication.run(MuziApplication.class,args);
        }
    }
    
  4. 運行結果
    訪問:http://localhost:8080/muzi
    結果: name:keyloved,and age:23

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章