2011-07-30 105 views

回答

1

使用Controller內的@Autowired@Qualifier註釋;與其他任何需要使用註釋自動裝配的類相同。確保將組件掃描放入您的上下文XML中。

+0

不要忘了'@ Value'簡單的特性,而不是依賴豆。 –

+0

您可以使用Autowired或Spring中內置的其他註釋。如果您的Controller只需要Service或Repository實例,則自動掃描應該處理它。我不明白你的不情願。對我來說完全是無稽之談。 – duffymo

+0

告訴我是否可以在沒有自動裝配的情況下進行。 – Neel

6

這聽起來像你想避免@Autowired註釋,但你確實想使用註釋式的SpringMVC控制器。沒有理由必須同時使用兩者。您可以像任何其他實例化XML中的XML。我會在下面給你舉個例子。不過,我鼓勵你考慮使用@Autowired,至少對於控制器來說,如果不是用於其他服務的話。它使得他們的代碼更易於創建和閱讀,並且只要您僅從控制器中使用它,它就不會導致任何尷尬和混亂的相互依賴性。

@Controller 
public class MyController { 

    private String field; 

    public void setField(String field) { 
     this.field = field; 
    } 

    @RequestMapping("/Wooo") 
    public String handler(ModelMap model) { 
     model.addAttribute("thefield",field); 
     return "fieldViewer"; 
    } 

} 

然後在XML:

<bean class="com.mything.MyController"> 
    <property name="field">waffles</property> 
</bean> 

<mvc:annotation-driven/>