• 當前位置:首頁 > IT技術 > 編程語言 > 正文

    8. SpringBoot 外部配置的加載順序(優先級)
    2022-05-31 17:11:04

    SpringBoot也可以從以下位置加載配置; 優先級從高到低;高優先級的配置覆蓋低優先級的配置,所有的配置會 形成互補配置?

    1.命令行參數 所有的配置都可以在命令行上進行指定 例:

    ?java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar --server.port=8087 --server.context-path=/abc 多個配置用空格分開;

    格式:  --配置項=值??

    命令行參數是優先級最高的。

    ?

    2.來自java:comp / env的JNDI屬性

    ?

    3.Java系統屬性(System.getProperties())

    ?

    4.操作系統環境變量

    ?

    5.RandomValuePropertySource配置的random.*屬性值

    ?

    由jar包外?向 jar包內進行尋找; 優先加載帶profile  【外包內包其實就是resouce目錄下 相同的配置名 其次看位置 越外的即是外包】

    ?

    6.jar包外部的application-{profile}.properties或application.yml(帶spring.profile)配置文件

    7.jar包內部的application-{profile}.properties或application.yml(帶spring.profile)配置文件

    ?

    其次來加載不帶profile

    ?

    8.jar包外部的application.properties或application.yml(不帶spring.profile)配置文件

    9.jar包內部的application.properties或application.yml(不帶spring.profile)配置文件

    ?

    10.@Configuration注解類上的@PropertySource

    ?

    11.通過SpringApplication.setDefaultProperties指定的默認屬性

    ?

    ?

    其實就是說? :

    配置文件都會先執行不帶porfile的【即默認】

    然之后: 按照 優先級 進行執行【多個帶profile 配置文件?它們的是同一個級別的,只能用?spring:? profiles:? ? active:? 配置?執行一個生效】,然后高優先級的配置文件 一直往下 覆蓋低優先級的配置文件。

    ?優先級就是上面列出的點了.


    作者:??咸瑜???

    本文摘自 :https://blog.51cto.com/u

    開通會員,享受整站包年服務
    国产呦精品一区二区三区网站|久久www免费人咸|精品无码人妻一区二区|久99久热只有精品国产15|中文字幕亚洲无线码