@Autowired属性在bean中构造为MVC方法参数

时间:2011-05-09 13:19:15

标签: java spring spring-mvc

我正在使用Spring MVC框架。在下面的代码片段中,我可以在构造时将Spring注入MyRequestClass请求参数(即使用@AutowiredApplicationContextAware接口)吗?我需要该请求对象来访问我的一个单独的Spring bean,而不是为了这个目的而不必创建一个ApplicationContextAware实现单例。

到目前为止,我只是尝试使用任一方法尝试访问beanaroo属性的NullPointerExceptions。

@RequestMapping("/**")
@Controller
public class MyController {

    @RequestMapping(value = "/mymethod", method = RequestMethod.POST)
    public ModelAndView myMethod(@RequestBody MyRequestClass request, 
                                   ModelMap modelMap,
                                   HttpServletResponse response) {
        ...
    }
}

例如

public class MyRequestClass {

    @Autowired
    private MyInjectedBean beanaroo;

}

我也尝试在我的应用程序上下文文件中定义该类的原型bean,但它也没有任何效果。

1 个答案:

答案 0 :(得分:2)

你可以使用@Configurable和aspectJ,但如果我是你,我就不会。

我只是让bean有一个方法,以MyInjectedBean作为参数,并从控制器调用它。