1. 程式人生 > >如何在SpringBoot中動態切換你的配置檔案(Profile)

如何在SpringBoot中動態切換你的配置檔案(Profile)

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的規範