zoukankan      html  css  js  c++  java
  • 如何在servlet取得spring beans (autowired)

    在应用中一般普通的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。

    [java] view plain copy
    1. public void init(ServletConfig config) throws ServletException {  
    2.         super.init(config);  
    3.     SpringBeanAutowiringSupport.processInjectionBasedOnServletContext(this, config.getServletContext());  
    4. }  

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

  • 相关阅读:
    nginx 启动相关的
    爬取豆瓣读书/文件存储数据/数据库存储数据
    python Web 开发三剑客比较
    scrapy
    爬虫自动登录抽屉
    组合搜索
    html瀑布流
    Ajax上传文件/文件预览
    Form组件
    django分页
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317719.html
Copyright © 2011-2022 走看看