2011-07-30 68 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/>