码迷,mamicode.com
首页 > 编程语言 > 详细

如何在servlet取得spring beans (autowired)(转)

时间:2015-10-16 13:16:21      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

在应用中一般普通的JavaPojo都是由Spring来管理的,所以使用autowire注解来进行注入不会产生问题,但是有两个东西是例外的,一个是 Filter,一个是Servlet,这两样东西都是由Servlet容器来维护管理的,所以如果想和其他的Bean一样使用Autowire来注入的 话,是需要做一些额外的功夫的。
对于Filter,Spring提供了DelegatingFilterProxy,所以本文主要讲述Servlet的解决。

servlet ,會碰到無法讀到 spring 定義的annotation ,解法是:在 servlet的 init method中,,寫下面的程式,
讓 spring 去 ApplicationContext 做 lookup,看 ApplicationContext 有那些已經注入(inject) 的 Spring beans。

public void init(ServletConfig config) throws ServletException {
        super.init(config);
    SpringBeanAutowiringSupport.processInjectionBasedOnServletContext(this, config.getServletContext());
}

這樣,就可以用 spring @Autowired 等的 annotation。

如何在servlet取得spring beans (autowired)(转)

标签:

原文地址:http://www.cnblogs.com/qq78292959/p/4884800.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!