網頁

2019/2/22

Spring Boot的配置檔application.properties的屬性名稱規則

Spring Boot的外部配置設定檔application.properties讓我們可以設置一些環境參數。

但覺得很奇怪,以前在xml中屬性的名稱為駝峰式(lower camel case)的寫法,例如driverClassName
但Spring Boot的application.properties中卻允許kebab case(減號分隔)的寫法如driver-class-name

查了一下才知道Spring Boot設計了Relaxed Binding將環境參數綁定至掛有@ConfigurationProperties的bean中。

Relaxed Binding允許屬性名稱為駝峰式(driverClassName),減號分隔式(driver-class-name),底線分隔式(driver_class_name),大寫底線分隔(DRIVER_CLASS_NAME)(大寫底線分隔僅建議用來設定系統環境變數)等寫法。

不過官方建議用小寫減號分隔(kebab case)的寫法,例如

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

下面寫法也可以

spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver

參考:

沒有留言:

張貼留言