1、设定环境中的active profiles
如:DispatcherServerlet的init-param
spring.profiles.active=production
spring.profiles.active=dev
如:
public class WebInit implements WebApplicationInitializer
{
@Override
public void onStartup(ServletContext sc)
{
sc.setInitParameter("spring.profiles.active","dev");
}
}
2、开发中使用@profile注解类或方法,达到在不同情况下,实例化不同的bean
package com.tianhe.springconfig.annoconfig;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.tianhe.springconfig.annoconfig.model.XxxService;
import com.tianhe.springconfig.annoconfig.model.YyyService;
@Configuration
public class SpringConfig {
@Bean
@Profile("Dev")
public XxxService xxxService() {
return new XxxService();
}
@Profile("Production")
public YyyService yyyService() {
return new YyyService();
}
}
本文介绍如何在Spring环境中通过设置activeprofiles来选择运行时的配置,并利用@Profile注解实现不同环境下自动实例化相应的Bean。具体展示了如何在DispatcherServlet及WebApplicationInitializer中设置spring.profiles.active参数,以及如何在配置类中根据不同环境配置不同服务。
2万+

被折叠的 条评论
为什么被折叠?



