我正在使用Spring Roo,并希望访问Controller类中的bean,该类在applicationContext.xml中具有以下配置:
<bean class="com.reservation.jobs.Configuration" id="jobsConfiguration" autowire="byType">
<property name="skipWeeks" value="4" />
</bean>
配置类本身是:
package com.reservation.jobs;
public class Configuration {
private int skipWeeks;
public void setSkipWeeks(int value) {
System.out.println("SkipWeeks set auf: " + value);
this.skipWeeks = value;
}
public int getSkipWeeks() {
return this.skipWeeks;
}
}
在我的控制器中,我认为一个简单的Autowired注释应该可以完成这项工作
public class SomeController extends Controller {
@Autowired
private com.reservation.jobs.Configuration config;
}
在启动期间,Spring在setSkipWeeks方法中打印消息。不幸的是,每当我在控制器中调用config.getSkipWeeks()时它返回0。
我是否要使用ApplicationContext实例的getBean方法,还是有更好的方法?
答案 0 :(得分:2)
autowire="byType"
是多余的。它表示Configuration
类的字段应该是自动装配的,并且您只有一个基元。所以删除该属性。
除此之外,config.getSkipWeeks()
必须返回4
,除非:
new
生成)