小D課堂 - 零基礎入門SpringBoot2.X到實戰_第三節SpringBoot熱部署devtool和配置文件自動注入實戰_1六、註解配置文件自動映射到屬性和實體類實戰

筆記:

三、SpringBoot註解把配置文件自動映射到屬性和實體類實戰
    簡介:講解使用@value註解配置文件自動映射到屬性和實體類
            
    一、配置文件加載
        方式一
            一、Controller上面配置
               @PropertySource({"classpath:resource.properties"})
            二、增長屬性
                 @Value("${test.name}")
                  private String name;

        方式二:實體類配置文件
        步驟:
            一、添加 @Component 註解;
            二、使用 @PropertySource 註解指定配置文件位置;
            三、使用 @ConfigurationProperties 註解,設置相關屬性;

            四、必須 經過注入IOC對象Resource 進來 , 才能在類中使用獲取的配置文件值。
                @Autowired
                private ServerSettings serverSettings;

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


            常見問題:
                一、配置文件注入失敗,Could not resolve placeholder
                    解決:根據springboot啓動流程,會有自動掃描包沒有掃描到相關注解, 
                    默認Spring框架實現會從聲明@ComponentScan所在的類的package進行掃描,來自動注入,
                    所以啓動類最好放在根路徑下面,或者指定掃描包範圍
                    spring-boot掃描啓動類對應的目錄和子目錄
                二、注入bean的方式,屬性名稱和配置文件裏面的key一一對應,就用加@Value 這個註解
                    若是不同,就要加@value("${XXX}")java

開始

上傳文件路徑放在配置文件中配置

以前在文件上傳的地方,寫死了上傳的路徑

註解放在controller上

@PropertySource制定文件的路徑爲resources下的application.properties這個配置文件

經過@Value屬性注入進來

在application.properties這個屬性裏面

輸出注入的路徑







桌面上傳上來的文件
spring

實體類配置文件

首先須要建一個實體類domain下面ServiceSettings.java

定義兩個屬性,生成getter和setter

加上三個註解


屬性注入,使用Value




在controller中使用



啓動應用
訪問測試
springboot

配置前綴

在上面配置前綴爲test。這樣下面在注入的時候就不用寫成test.name和test.domain這種樣式了。


啓動項目

app

不加前綴,直接屬性名









spring boot的啓動類配置的@ComponentScan。默認會掃描當前文件所在的文件夾和及其子文件夾


官方推薦把spring的啓動類放在代碼的根路徑下

框架

相關文章
相關標籤/搜索