日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

iis无法读取配置文件_SpringBoot 有很多读取配置文件的方法,你知道几个? 静态方法读取呢?...

發布時間:2024/7/5 javascript 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iis无法读取配置文件_SpringBoot 有很多读取配置文件的方法,你知道几个? 静态方法读取呢?... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SpringBoot 如何在靜態方法中讀取配置文件的值

在Spring中呢有很多讀取配置文件值的相關注解,讀取這些配置文件都是依賴于Spring的方式。我發現的讀取配置文件的方式有好幾種。

1、@Value 注解

2、@ConfigurationProperties 和 @EnableConfigurationProperties(@Compent)

3、@PropertySource

4、Environment

5、PropertySourcesPlaceholderConfigurer

6、自己寫一個靜態讀取的配置文件的工具類(包括 jar 包外的配置文件,與SpringBoot讀取的配置文件一致)

配置好一個配置文件// yml// 寫一個測試類 1、@Value 注解 讀取

@Value 注解的讀取配置文件是依賴于IOC容器的,也屬于依賴注入,這一點看過Spring的IOC源碼的都清楚,屬于屬性的注入,所以是依賴于Spring的,所以呢,在該類使用@Value注解的時候,該類必須是歸屬于Spring管理的類。

示例:

@Component 2、@ConfigurationProperties 和 @EnableConfigurationProperties

@ConfigurationProperties 注解適用于自動化配置的類,在SpringBoot的jdbc的數據源自動化配置:

@ConfigurationProperties

在SpringBoot中我們使用數據源是這樣子配置的:

# 數據源

所以在我們也需要寫一個自動化配置類的時候,就可以使用改注解來處理。

有個地方需要注意的地方

類似于這樣有行杠的,在java類中需要與駝峰的方式命名。

driver-class-name ----> driverClassName

示例: 配置文件在上面已經寫了

@ConfigurationProperties

在啟動類中加入 注解 @EnableConfigurationProperties(value={User.class})

或者在 User.class 加上 @Compent 注解

@EnableConfigurationProperties3、@PropertySource 和 @Configuration

@PropertySource 指定加載配置文件,但是不支持yml 的配置方式,也不支持打jar包后讀取jar包外的配置,只能是類路徑下的,不友好。也是依賴Spring的所以使用改注解的類需要放到Spring的IOC管理

示例:

配置

config.app=TestApp config.version=1.0.0

配置類:

@Component 4、Environment

在Spring里可以通過注入 該對象,就可以讀取配置文件的的屬性值,也是依賴于Spring的注入

獲得改對像的方式有好多方式:介紹兩種

  • @Autowired依賴注入
@Autowired
  • 實現接口EnvironmentAware。當一個工具類使用,但是該工具類得需要在Spring容器啟動后,才可以使用
@Component

5、 PropertySourcesPlaceholderConfigurer

PropertySourcesPlaceholderConfigurer是個bean工廠后置處理器的實現,同時也實現了 EnvironmentAware,也是處理 @Value 屬性注入的處理關鍵類。該類的屬性也是來自 Environment 的。

示例:

@Component

6、自己寫一個靜態讀取的配置文件的工具類(包括 jar 包外的配置文件,與SpringBoot讀取的配置文件一致

在上面讀取配置文件的方式中有幾個點:

  • 1、這些文件的方式都依賴Spring的注入。
  • 2、靜態方式讀取不方便,必須得在Spring容器啟動才可以加載配置文件,對于有時需要在Spring容器啟動完畢前,需要加載配置文件不方便。
  • 3、自定義加載配置問題,不可以加載jar包外的自定義配置文件。除了:application.yml/ properties和 不同環境的配置文件外。 比如 @PropertySource 注解只能加載 類路徑下的。打jar包后不可以使用,切不能加載y ml配置。

結合以上幾點,我們可以自己寫一個 在Spring的讀取配置的基礎上,補全以上問題的工具類。

1、工具類的功能介紹:

  • 如果在啟動項目的時候,通過參數指定配置文件的方式的時候。該工具類不會加載該參數指定的其它配置文件。文件的讀取規則如下。
  • 基于SpringBoot 使用
  • 工具類加載配置文件的順序與SpringBoot保持一致

配置文件有先級:. properties> .yml ;優先加載. properties 如果沒有就加載 yml的

開發環境下:resources/config > resources/

jar包:jar包同級目錄的config/ > jar包同級目錄 > jar 包內的resources/config/ jar 包內的resources/

  • 默認加載:application.properties、application.properties的spring.profiles.active 指定的文件、和一個config.propertis/config.yml(優先于config.propertis);
  • 上一點的三個默認配置文件可以在jar包同級目錄config文件夾下或者jar包同級目錄下。方便于修改,于SpringBoot加載順序一樣。
  • 加載 list集合方式:

例如:

不支持這樣子配置的集合讀取:

lists
  • 不支持 集合對象方式讀取
  • map 結構方式讀取

例如:

不支持對象嵌套對象。

map

#properties map={name: tom , age:18 } ```

關于改工具類的集合和map的配置:

集合和map的讀取方式,需要按照如上說明配置。

如果不使用該工具類讀取集合和map結構,但是需要注入到類對象中的話,可以按照SpringBoot中的配置規則去配置。

也可以配置成集合對象,當字符串讀取,然后自己轉換。

2、工具類的使用(兩種)

1、可以將工具打成一個 jar 包/將該源碼,引入到項目中,然后在啟動類加上注解 @EnableReadConfig

該方式需要依賴于Spring的方式,可以讀取系統變量,需要等待Spring啟動,加載。

2、手工加載

該方式目前不可讀取系統變量,但是可以不依賴Spring容器去加載。

// 參數 類加載器 :引用該類的任意類class

3、加載第三方配置文件

void

加了 classpath:代表加載的是類路徑下的。其它的就是 絕對路徑下的配置文件

示例:

@SpringBootApplication

打印結果:

jar包方式:

開發環境方式:

3、代碼結構

tool-read-config

PropertiesUtils.java工具類api

memoryoverflow/tools-read-config?gitee.com

https://gitee.com/lyj08/tools-read-config

http://weixin.qq.com/r/YxxocNLExo_5rZYT90lx (二維碼自動識別)

總結

以上是生活随笔為你收集整理的iis无法读取配置文件_SpringBoot 有很多读取配置文件的方法,你知道几个? 静态方法读取呢?...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。