註解@componenthtml
@valuejava
例如web
若配置文件爲application-dat.ymlspring
book.name = spring
book.author = abc
也能夠用直接配置前半段配置字符。springboot
此兩種方配置相同。app
在配置文件中還以引用參數dom
book.name = spring
book.info = $
那麼book.info 就等於 spring chubanshemaven
能夠使用隨機數函數
book.page = $
因而可知springboot能夠用在配置中使用一些固定的函數微服務
由於開發環境中須要開發, 測試,uat測試,生產各個環境運行並查問題
所以在多套環境的狀況下,springboot支持配置多個文件,而後指定生效一個配置文件
例如
在資源下面寫多個yaml文件
application-dat.yml 生產環境配置文件
application-self.yml;本身開發環境文件
application-test.yml;測試環境配置文件
而後在寫一個總的yml 配置文件讓他們生效
spring.progiles.active = dat //則你項目啓動的時候使用的時候生產配置文件
(a)在配置文件中多一個空格都不行
(b)在冒號後面就要跟一個 空格
(a) springboot項目用maven install 打成jar包以後 能夠用 Java -jar ***.jar的命令直接啓動;
由於springboot裏自帶tomact。
(b)使用命令行啓動,在啓動時能夠配置修改屬性
例如
java -jar ***.jar --book.name = spring cloud
1.命令行參數
2.來自SPRING_APPLICATION_JSON
的屬性
3.java:comp/env中的 JNDI 屬性
4.Java系統環境變量
5.操做系統環境變量
6.RandomValuePropertySource,隨機值,使用
random.*` 來定義
7.jar 包外的 Profile 配置文件,如 application-{profile}.properties 和 YAML 文件
8.jar 包內的 Profile 配置文件,如 application-{profile}.properties 和 YAML 文件
9.jar 包外的 Application 配置,如 application.properties 和 application.yml 文件
10.jar 包內的 Application 配置,如 application.properties 和 application.yml 文件
11.在@configuation註解修改的類中,經過@propertyssource 註解定義屬性
12.應用默認屬性,使用springAppliaction.setDefaultPropeorties定義的內容
數字越小,優先級越高。
此段中須要學習的額外知識
JNDI 的理解 - zhchoutai - 博客園 http://www.javashuo.com/article/p-peylzpbf-a.html
**JNDI 把這些問題交給J2EE容器(比方weblogic)來配置和管理,程序猿僅僅需要對這些配置和管理進行引用就能夠。 是爲了解耦,是爲了開發出更加可維護、可擴展。
J2EE 規範要求所有 J2EE 容器都要提供 JNDI 規範的實現。