servlet 使用spring管理bean
2013-03-07 16:42
411 查看
servlet 使用spring管理bean
要serlvet使用注解的形式去注入bean,那么如何才能将spring管理的bean注入到servlet中。原本spring管理的bean和servlet不在一个上下文环境中是无法相互注入的。
解决办法创建一个AbstractServlet 抽象类,让你的所有servlet继承于此类
Java代码
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 {
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);
}
}
关键在于SpringBeanAutowiringSupport.processBInjectionasedOnServletContext(this,
Java代码
config.getServletContext());
Java代码
通过使用spring提供的支持可以将当前的servlet上下文环境添加到spring管理的上下文环境中。
Java代码
当然还有其他一些方法就不在这赘述了。
要serlvet使用注解的形式去注入bean,那么如何才能将spring管理的bean注入到servlet中。原本spring管理的bean和servlet不在一个上下文环境中是无法相互注入的。
解决办法创建一个AbstractServlet 抽象类,让你的所有servlet继承于此类
Java代码
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 {
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);
}
}
关键在于SpringBeanAutowiringSupport.processBInjectionasedOnServletContext(this,
Java代码
config.getServletContext());
Java代码
通过使用spring提供的支持可以将当前的servlet上下文环境添加到spring管理的上下文环境中。
Java代码
当然还有其他一些方法就不在这赘述了。
相关文章推荐
- 将spring管理的bean使用注解的方式注入到servlet中
- 使用Spring容器管理JavaBean
- 在自定义Listener中使用Spring容器管理的bean
- 如何使用spring的autowire为servlet注入Bean
- 在ServletContextListener中使用Spring管理的bean
- Spring中Bean的管理及ApplicationContext的使用
- 在完全由Spring管理的环境中使用Spring的Context获取Bean实例
- 如何在自定义Listener(监听器)中使用Spring容器管理的bean
- spring管理属性配置文件properties——使用PropertiesFactoryBean
- Java 使用 Spring 容器管理 Servlet
- 如何在Listener(监听器)中使用spring容器管理的bean(自定义监听使用spring管理的bean)
- 使用 spring 容器管理 Servlet
- spring-02 spring的bean管理(使用注解方式创建对象 附代码)
- 如何在自定义Listener(监听器)中使用Spring容器管理的bean
- 如何使用spring的autowire为servlet注入bean
- 如何在servlet的监听器中使用spring容器的bean
- java 如何在listener(监听器) 中使用Spring容器管理bean
- 使用Spring和SpringMVC管理bean时要注意的一个小细节
- Spring IOC使用(3) 基于注解管理bean
- Spring的bean管理(注解注入属性和注解文件混合使用)