眾所周知 spring boot 的核心:約定大於配置。這句話用於 spring boot 時可以從如下兩點來理解:
開發人員僅需規定應用中不符約定的部分。其實,總的來講,上面這兩條都遵循了推薦預設配置的思想;當存在特殊需求時候,自定義下配置即可。定義些預設配置辦不到的需求即可,剩下的配置,預設就幫助你完成,大大減少配置工作,這就是所謂的 「約定」。在沒有規定配置的地方,採用預設配置,以力求最簡配置為核心思想。
student
:name
: 李四
age:20
即可使用@value(「student.name」)
為成員變數注入值。但當自定義屬性很多時就需要注入很多次,spring boot 提供了基於型別安全的配置方式@configurationproperties
將配置檔案中的屬性和乙個 bean 的屬性關聯,從而實現型別安全的配置。
@configurationproperties
(prefix =
"student"
)public
class
studentproperties
上述做法僅把配置資訊封裝到的studentproperties
實體類中,還並沒有真正成為 bean。
@configuration
@enableconfigurationproperties
(studentproperties.
class
)public
class
studentautoconfiguration
}
完成上述做法,就真正把 studentproperties 例項交給了 spring 管理,即 spring bean。即可繼續在本類中通過使用 studentproperties 例項的屬性值構建其他 bean,亦可在其他 bean 中直接注入 studentproperties 例項。
還有一種實現上述功能的方式則是:
@component
@configurationproperties
(prefix =
"student"
)@enableconfigurationproperties
(studentproperties.
class
)public
class
studentproperties
下表為兩個註解的區別。
@configurationproperties
@value
功能批量注入配置檔案中的屬性
乙個個指定
鬆散繫結(鬆散語法)
支援不支援
spel
不支援支援
jsr303資料校驗
支援不支援
複雜型別封裝
支援不支援
>
>
org.springframework.bootgroupid
>
>
spring-boot-configuration-processorartifactid
>
>
trueoptional
>
dependency
>
@configurationproperties
(prefix =
"student"
)@propertysource
("classpath:config/student.yml"
)public
class
studentproperties
表示在 resources 下自定義了乙個 config/student.yml 配置檔案。
可通過使用 spel 表示式來完成屬性值的引用,例如:
student
:name
: 李四
age:20
detail
: $-$
配置檔案中 $ 可以用來生成各種不同型別的隨機值,從而簡化了**生成的麻煩,例如 生成 int 值、long 值或者 string 字串。
demo
:secret
: $number
: $bignumber
: $uuid
: $number
:less
:than
:ten
: $in
:range
: $
Springboot常規屬性配置
使用 value注入每個配置在實際專案中會顯得格外麻煩,因為我們的配置通常會是許多個,若使用上例的方式則要使用 value注入很多次。spring boot還提供了基於型別安全的配置方式,通過 configuratlonproperties將 properties屬性和乙個 bean及其屬性關聯,從...
Struts的常規配置
1.常量配置 除了使用struts.xml配置以外,還可以使用struts.properities檔案來管理常量。將struts.properities放在類載入路徑下,struts2 就可以載入此類檔案。通常將其放在web應用的web inf classes路徑下。一般使用使用struts.xml...
struts常規配置介紹
三類配置檔案 struts2預設載入類載入路徑下的struts.xml struts default.xml和struts plugin.xml檔案,struts.xml是開發者定義的預設配置檔案,struts default.xml是struts2框架自帶的配置檔案,struts plugin.x...