1. 程式人生 > >SpringBoot註解配置檔案自動對映到屬性和實體類實戰

SpringBoot註解配置檔案自動對映到屬性和實體類實戰

講解使用@value註解配置檔案自動對映到屬性和實體類
            
    1、配置檔案載入
        方式一
            1、Controller上面配置
               @PropertySource({"classpath:resource.properties"})
            2、增加屬性
                 @Value("${test.name}")
                  private String name;

        方式二:實體類配置檔案
        步驟:
            1、新增 @Component 註解;
            2、使用 @PropertySource 註解指定配置檔案位置;
            3、使用 @ConfigurationProperties 註解,設定相關屬性;

            4、必須 通過注入IOC物件Resource 進來 , 才能在類中使用獲取的配置檔案值。
                @Autowired
                private ServerSettings serverSettings;

                例子:
                    @Configuration
                    @ConfigurationProperties(prefix="test")
                    @PropertySource(value="classpath:resource.properties")
                    public class ServerConstant {


            常見問題:
                1、配置檔案注入失敗,Could not resolve placeholder
                    解決:根據springboot啟動流程,會有自動掃描包沒有掃描到相關注解, 
                    預設Spring框架實現會從宣告@ComponentScan所在的類的package進行掃描,來自動注入,
                    因此啟動類最好放在根路徑下面,或者指定掃描包範圍
                    spring-boot掃描啟動類對應的目錄和子目錄
                2、注入bean的方式,屬性名稱和配置檔案裡面的key一一對應,就不用加@Value 這個註解
                    如果不一樣,就要加@value("${XXX}")