2012-05-18 121 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
值二傳手某​​處
相關問題