springboot屬性配置檔案詳解
修改埠
application.properties:
server.port=8888
另外,也可以直接在執行jar包的時候修改
java -jar xx.jar --server.port=8888
自定義屬性及獲取
1.application.properties中[檔案改成UTF-8]
teacher.id=1
teacher.name=zhangsan
[email protected]("${屬性名}")獲取對應的屬性值
@Controller public class SampleController { @Value("${teacher.name}") private String teacherName; @RequestMapping("/") @ResponseBody public String home() { return "Hello World!" + this.teacherName; } }
引數引用
application.properties
teacher.id=1
teacher.name=zhangsan
teacher.info=Teacher ${teacher.name}'s number is ${teacher.id}
隨機內容生成
# 隨機字串
random.string=${random.value}
# 隨機int
random.number=${random.int}
# 隨機long
random.long=${random.long}
# 1-20的隨機數
random.b=${random.int[1,20]}
多環境配置
我們在開發應用時,通常一個專案會被部署到不同的環境中,比如:開發、測試、生產等。其中每個環境的資料庫地址、伺服器埠等等配置都會不同,對於多環境的配置,大部分構建工具或是框架解決的基本思路是一致的,通過配置多份不同環境的配置檔案,再通過打包命令指定需要打包的內容之後進行區分打包,Spring Boot也提供了支援在Spring Boot中多環境配置檔名需要滿足application-{profile}.properties的格式,其中{profile}對應你的環境標識,比如:
- application-dev.properties:開發環境
- application-test.properties:測試環境
- application-prod.properties:生產環境
至於哪個具體的配置檔案會被載入,需要在application.properties檔案中通過spring.profiles.active屬性來設定,其值對應{profile}值。
比如:spring.profiles.active=dev就會載入application-dev.properties配置檔案中的內容
案例:
在dev, test, prod這三個檔案均都設定不同的server.port埠
application.properties中設定spring.profiles.active=dev,就是說預設以dev環境設定
總結:
1.application.properties中配置通用內容,並設定spring.profiles.active=dev,以開發環境為預設配置
2.application-{profile}.properties中配置各個環境不同的內容