package com.example.demo_2_4;
/**
* Created by WangBin on 2017/4/13.
*
*/
public class DemoBean {
private String content;
public DemoBean(String content) {
this.content = content;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
package com.example.demo_2_4;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
/**
* Created by WangBin on 2017/4/13.
*
*/
public class Main {
public static void main(String[] args) {
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
System.err.println(""+context.getEnvironment());
context.getEnvironment().setActiveProfiles("dev");//先将活动的Profile设置1下
context.register(ProfileConfig.class);//设置 config
context.refresh();//刷新容器
DemoBean demoBean = context.getBean(DemoBean.class);
System.err.println(demoBean.getContent());
context.close();
}
}
package com.example.demo_2_4;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
/**
* Created by WangBin on 2017/4/13.
*
*/
@Configuration
public class ProfileConfig {
@Bean
@Profile("dev")//Profile 为 dev时 实例化 devDemoBean
public DemoBean devDemoBean(){
return new DemoBean("dev实例化的");
}
@Bean
@Profile("prod")//Profile 为 prod时 实例化 proDemoBean
public DemoBean proDemoBean(){
return new DemoBean("pro实例化的");
}
}
package com.example.demo_2_4;
import org.springframework.web.WebApplicationInitializer;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
/**
* Created by WangBin on 2017/4/13.
*
*/
public class WebInit implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
servletContext.setInitParameter("spring.profiles.default","dev");
}
}