在項目的開發中,有些配置檔案在不同的環境(開發、測試、生成)中配置資訊是不同的,例如資料庫連接配接資訊、Redis配置資訊、日志控制級别等等都是不同的,那麼就需要我們再項目中根據不同的環境配置不同的配置資訊,做到不同的環境配置不同的配置,做到各個環境配置隔離。
在 Spring Boot 中多環境配置檔案名需要使用 【application-{profile}.properties】或
【application-{profile}.yml】的格式,這裡 {profile} 對應的是不同的環境辨別。
如
application-test.properties 或 application-test.yml
application-prod.properties 或 application-prod.yml
需求:
測試環境服務端口:8081,生産環境端口:8082,如何進行實作
建立對應環境的配置檔案
application-test.yml 和 application-prod.yml
application-test.yml配置檔案内容:
application-prod.yml配置檔案内容:
application.yml激活對應環境配置
測試
不同的環境啟動腳本中激活不同的配置即可。
注解
說明
@SpringBootApplication
組合注解:等價于@Configuration、@EnableAutoConfiguration、@ComponentScan
@EnableAutoConfiguration
啟用自動配置功能
@ComponentScan
元件掃描,可自動發現和裝配一些Bean
@Import
導入其他配置類
@Bean
相當于Spring中xml中的bean标簽
@Configuration
标記該類為配置類,等價于Spring中xml配置檔案
@ConditionalOnMissingBean
未在類路徑下中找到對應Bean執行
@ConditionalOnBean
在類路徑下中找到對應Bean執行
@ConditionalOnProperty
在全局配置檔案中找到對應屬性執行
@ConditionalOnMissingClass
未在類路徑下中找到對應的Class執行
@ConditionalOnClass
在類路徑下中找到對應的Class執行
@RestController
組合注解,等價于@Controller、@ResponseBody
@Autowired
Spring 依賴注入Bean,基于類型byType
@Qualifier
當容器中有多個同類型的Bean,通過該注解來指定,與@Autowired結合使用
@Service
業務類
@Component
元件類
@Repository
資料通路層
當線上某個應用需要更新部署時,常常簡單粗暴地使用 kill 指令,這種停止應用的方式會讓應用将所有進行中的請求丢棄,響應失敗。這樣的響應失敗尤其是在處理重要業務邏輯時需要極力避免的,那麼久需要平滑的關閉。
Spring Boot 架構提供健康監控依賴啟動器,可以對Spring Boot服務進行監控,優雅停服等功能
執行 kill -9 / 或者 Ctrl+C操作,或者請求接口
傳回資料
說明優雅關閉成功