您好我想写一个使用Spring Profiles的简单示例,她就是代码。
public static void main(String[] args) {
GenericXmlApplicationContext ctx = new GenericXmlApplicationContext();
ctx.getEnvironment().setActiveProfiles("kindergarten");
ctx.load("classpath:profile/*-config.xml");
ctx.refresh();
FoodProviderService foodProviderService =
ctx.getBean("foodProviderService", FoodProviderService.class);
List<Food> lunchSet = foodProviderService.provideLunchSet();
for (Food food: lunchSet) {
System.out.println("Food: " + food.getName());
}
} 但奇怪的是,GenericXmlApplicationContext在它的API中没有getEnviroment()方法,所以第三行
ctx.getEnvironment().setActiveProfiles("kindergarten");
剂量不起作用。我的STS拒绝运行主要因为他认为这是一个sintax错误他给我这个消息:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method getEnvironment() is undefined for the type GenericXmlApplicationContext
任何想法? 感谢。
答案 0 :(得分:1)
找到答案似乎我有3.0.6.RELEASE Spring版本但是3.1.3版本中添加的配置文件所以我需要做的就是转到我的pom.xml并更改它。
<spring.framework.version>3.0.6.RELEASE</spring.framework.version>
到此
<spring.framework.version>3.1.0.RELEASE</spring.framework.version>