Spring mvc中基于注释的控制器的依赖注入

时间:2011-07-30 18:54:12

标签: java spring

如何在Spring中将属性设置为带注释的控制器?

2 个答案:

答案 0 :(得分:6)

听起来你想要避免@Autowired注释,但你确实想要使用注释式SpringMVC控制器。没有理由你必须同时使用它们。您可以像在任何其他情况下一样在XML中实例化bean。我将在下面给你举个例子。不过,我鼓励你考虑至少使用@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/>

答案 1 :(得分:1)

使用@Autowired内的@QualifierController注释;与您需要使用注释自动装配的任何其他类相同。务必将组件扫描放入上下文XML中。