0

嗨,我正在尝试写一个使用 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 拒绝运行 main,因为他认为这是一个 sintax 错误,他给了我这个消息:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
The method getEnvironment() is undefined for the type GenericXmlApplicationContext

有任何想法吗 ?谢谢。

4

1 回答 1

1

找到了答案,似乎我有 3.0.6.RELEASE Spring 版本,但配置文件是从 3.1.0 版本添加的,所以我需要做的就是转到我的 pom.xml 并更改它。

    <spring.framework.version>3.0.6.RELEASE</spring.framework.version>

对此

        <spring.framework.version>3.1.0.RELEASE</spring.framework.version>
于 2012-08-30T10:33:06.310 回答