1. 程式人生 > >springboot屬性配置檔案詳解

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埠

屬性,如:dev環境設定為8081,test環境設定為8082,prod環境設定為8083

application.properties中設定spring.profiles.active=dev,就是說預設以dev環境設定

總結:

1.application.properties中配置通用內容,並設定spring.profiles.active=dev,以開發環境為預設配置

2.application-{profile}.properties中配置各個環境不同的內容

更多springboot相關知識關注部落格[持續更新]