2012-05-18 126 views
0

我使用Spring Roo的,并希望已在applicationContext.xml中以下配置控制器类中访问一个bean:自动装配Autowired工作不正常

<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方法还是有一些更好的方法?

回答

2

autowire="byType"是多余的。它表明Configuration类的字段应该是自动布线的,并且只有一个基元。因此删除该属性。

除此之外,config.getSkipWeeks()必须返回4除非:

  • 您使用的是不同的实例(由你new制造)
  • 你调用的0
值二传手某​​处
相关问题