将spring管理的bean使用注解的方式注入到servlet中

Posted 前度刘郎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将spring管理的bean使用注解的方式注入到servlet中相关的知识,希望对你有一定的参考价值。

Filter和Servlet中不能直接注解使用spring的bean,因为这两个都是servlet容器维护管理的,当然也有实现方法,如下:

 

1。创建一个AbstractServlet 抽象类,让你的所有servlet继承于此类:

import java.io.IOException;   

  •   
  • import javax.servlet.ServletConfig;   
  • import javax.servlet.ServletException;   
  • import javax.servlet.http.HttpServlet;   
  • import javax.servlet.http.HttpServletRequest;   
  • import javax.servlet.http.HttpServletResponse;   
  •   
  • import org.springframework.web.context.support.SpringBeanAutowiringSupport;   
  •   
  • /**  
  •  * Servlet implementation class AbstractServlet  
  •  */  
  •   
  • public class AbstractServlet extends HttpServlet {   
  •     private static final long serialVersionUID = 1L;   
  •   
  •     /**  
  •      * @see HttpServlet#HttpServlet()  
  •      */  
  •     public AbstractServlet() {   
  •         super();   
  •         // TODO Auto-generated constructor stub   
  •     }   
  •   
  •     public void init(ServletConfig config) throws ServletException {
  •         // 在 servlet的 init method中,,寫下面的程式,讓 spring 去 ApplicationContext 做 lookup,
  •         SpringBeanAutowiringSupport.processInjectionBasedOnServletContext(this,   
  •                 config.getServletContext());   
  •     }   
  •   
  •     /**  
  •      * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse  
  •      *      response)  
  •      */  
  •     protected void doGet(HttpServletRequest request,   
  •             HttpServletResponse response) throws ServletException, IOException {   
  •     }   
  •   
  •     /**  
  •      * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse  
  •      *      response)  
  •      */  
  •     protected void doPost(HttpServletRequest request,   
  •             HttpServletResponse response) throws ServletException, IOException {   
  •         doGet(request, response);   
  •     }   
  •   
  • }

然后需要有注解spring管理的bean的servlet或fiter时候继承此类,重写方法

以上是关于将spring管理的bean使用注解的方式注入到servlet中的主要内容,如果未能解决你的问题,请参考以下文章

Spring管理Bean(XML与注解方式)

Spring学习一(依赖注入/Bean/注解等)

spring-bean(注解方式-管理及依赖注入)

Spring入门到进阶 - Spring Bean管理 注解方式

springBoot Interceptor拦截器注入mapper 为null

Spring 注入 Bean 的 7 种方式,还有谁不会?-