Spring Boot外部化配置

一般狀況,一個項目從開發到上線須要經歷多個環境。例如程序員在本身的開發環境完成Coding,QA在測試環境完成對軟件的測試。而最終軟件運行在生產環境對外提供服務,產生真正的業務價值。一個正規的系統研發流程會按順序經歷以下多個環境:DEV->TEST->SIT->PRE->PROD。
那麼問題就來了,各個環境間確定會存在差別(例如各個環境的數據源配置必定是不一樣的),如何讓咱們開發好的應用能正常的運行在不一樣的環境呢?這就須要外部化配置。簡單的說就是提早在代碼中定義好配置項,代碼中引用的是配置項的key,配置項真正的value放置在應用外部(包括配置文件、命令行參數、系統環境變量等等),這樣不一樣的環境就能夠根據自身狀況定義不一樣的value。
本文會先介紹Spring Framework Environment的概念,有了基礎以後再來看Spring Boot的Externalized Configurationhtml

Environment

Spring的Environment接口用來抽象application正在運行的環境,它有兩個核心概念:profile和properties。
profile用於限制一組bean的定義,這組bean只有在該profile處於激活狀態時纔會被注入到Spring容器中。
properties就是一組配置項,它能夠有多個來源:properties配置文件,JVM參數,系統環境變量等等。
下面分別對profile和profiles進行詳細介紹程序員

Profile

Properties

SpringBoot外部化配置

相關文章
相關標籤/搜索