如何在SpringBoot中動態切換你的配置檔案(Profile)
阿新 • • 發佈:2019-02-15
As we know,我們在測試中可能需要頻繁切換SpringBoot的配置檔案,這個時候我們如何切換配置檔案才方便呢?
命令列引數,還是顯然還是太麻煩,特別是單元測試本地bean的時候。所以,小弟來給各位獻上一計,通過Springboot容器的啟動原理(其實我也不懂,但是切入點就在這裡).我們需要實現該介面,Spring內建的容器在啟動時會呼叫該介面的這個唯一方法,這個貌似是函式式介面(偽的,沒什麼用)
import org.springframework.test.context.ActiveProfilesResolver; /** * @author Kwai * @date 2018/5/24 15:07 */ public class ProfileResolver implements ActiveProfilesResolver { @Override public String[] resolve(Class<?> testClass) { String activeProfiles = System.getProperty("spring.profiles.active"); return new String[] {activeProfiles != null ? activeProfiles : "liangyin"}; } }
這時候,我們就將自定義的屬性解析器實現了,下一步只需要引入其到啟動類即可
請無視第四個註解,依賴外掛的。這個時候就就可以搭配Junit進行單元測試了。
注意,預設是以application.yml來啟動的。若你的其他配置檔案是以application-xxx.yml的形式來命名的,只需要將我的liangyin改成你的xxx即可.這也是springboot的規範