在應用程序中有不少配置項,例如數據庫鏈接地址、日誌文件位置、應用服務器配置等等。爲了安全與靈活性,咱們推薦將Spring Boot的配置文件放在生產環境的服務器上,並嚴格控制訪問權限。在運行應用時能夠經過命令行參數指定配置文件:html
java -jar location_of_your_jar_file.jar --spring.config.location=location_of_your_config_file.properties
這樣作的好處是:java
在某些狀況下,應用的某些業務邏輯可能須要有不一樣的實現。例如郵件服務,假設EmailService
中包含的send(String email)
方法向指定地址發送電子郵件,可是咱們僅僅但願在生產環境中才執行真正發送郵件的代碼,而開發環境裏則不發送以避免向用戶發送無心義的垃圾郵件。spring
咱們能夠藉助Spring的註解@Profile
實現這樣的功能,這樣須要定義兩個實現EmailService
藉口的類:數據庫
@Service @Profile("dev") class DevEmailService implements EmailService { public void send(String email) { //Do Nothing } } @Service @Profile("prod") class ProdEmailService implements EmailService { public void send(String email) { //Real Email Service Logic } }
@Profile("dev")
代表只有Spring定義的Profile爲dev
時纔會實例化DevEmailService
這個類。那麼如何設置Profile呢?安全
在application.properties
中加入:服務器
spring.profiles.active=dev
java -jar app.jar --spring.profiles.active=dev
另外一篇更爲詳細的方法,基本差很少:app
http://www.cnblogs.com/java-zhao/p/5469183.html測試