`
king_tt
  • 浏览: 2108313 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

servlet 使用spring管理bean

 
阅读更多

servlet 使用spring管理bean

要serlvet使用注解的形式去注入bean,那么如何才能将spring管理的bean注入到servlet中。原本spring管理的bean和servlet不在一个上下文环境中是无法相互注入的。

解决办法创建一个AbstractServlet 抽象类,让你的所有servlet继承于此类

Java代码收藏代码
  1. importjava.io.IOException;
  2. importjavax.servlet.ServletConfig;
  3. importjavax.servlet.ServletException;
  4. importjavax.servlet.http.HttpServlet;
  5. importjavax.servlet.http.HttpServletRequest;
  6. importjavax.servlet.http.HttpServletResponse;
  7. importorg.springframework.web.context.support.SpringBeanAutowiringSupport;
  8. /**
  9. *ServletimplementationclassAbstractServlet
  10. */
  11. publicclassAbstractServletextendsHttpServlet{
  12. privatestaticfinallongserialVersionUID=1L;
  13. /**
  14. *@seeHttpServlet#HttpServlet()
  15. */
  16. publicAbstractServlet(){
  17. super();
  18. //TODOAuto-generatedconstructorstub
  19. }
  20. publicvoidinit(ServletConfigconfig)throwsServletException{
  21. SpringBeanAutowiringSupport.processInjectionBasedOnServletContext(this,
  22. config.getServletContext());
  23. }
  24. /**
  25. *@seeHttpServlet#doGet(HttpServletRequestrequest,HttpServletResponse
  26. *response)
  27. */
  28. protectedvoiddoGet(HttpServletRequestrequest,
  29. HttpServletResponseresponse)throwsServletException,IOException{
  30. }
  31. /**
  32. *@seeHttpServlet#doPost(HttpServletRequestrequest,HttpServletResponse
  33. *response)
  34. */
  35. protectedvoiddoPost(HttpServletRequestrequest,
  36. HttpServletResponseresponse)throwsServletException,IOException{
  37. doGet(request,response);
  38. }
  39. }

关键在于SpringBeanAutowiringSupport.processBInjectionasedOnServletContext(this,

Java代码收藏代码
  1. config.getServletContext());
Java代码收藏代码
  1. 通过使用spring提供的支持可以将当前的servlet上下文环境添加到spring管理的上下文环境中。
Java代码收藏代码
  1. 当然还有其他一些方法就不在这赘述了。
分享到:
评论

相关推荐

    在Servlet直接获取Spring框架中的Bean.docx

    介绍了在Servlet直接获取Spring框架中的Bean.docx

    org.springframework.web.servlet-3.0.1.RELEASE-A.jar

    Error creating bean with name 'org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#0' defined in ServletContext resource [/WEB-INF/springMVC-servlet.xml]: Initialization of bean failed;...

    spring-servlet

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" > <property name="prefix" value="/WEB-INF/jsp/" ></property> <property name="suffix" value=".jsp" ></property>...

    从零开始学Spring Boot

    1.20 Spring Boot普通类调用bean 1.21 使用模板(thymeleaf-freemarker) 1.22 Spring Boot 添加JSP支持 1.23 Spring Boot Servlet 1.24 Spring Boot过滤器、监听器 1.25 Spring Boot 拦截器HandlerInterceptor 1.26...

    Spring MVC 入门实例

    11 <bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 12 13 14 <prop key="/hello.do">helloController 15 16 17 </bean> 18 19 <bean id=...

    Spring中文帮助文档

    6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...

    spring4.3.9相关jar包

    spring-beans.jar(必须):这 个jar 文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean 以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI ...

    从零开始Spring Boot

    从零开始Spring Boot,通过实战快速入门。...使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置。

    Spring API

    6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...

    Spring Boot入门

    从本质上来说,Spring Boot就是Spring,它做了那些...使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置。

    spring4.1核心包

    配置文件 创建和管理bean。 4.spring-context-4.1.1.RELEASE.jar 在基础IOC功能上提供扩展服务,此外还提供许多企业级服务的支持,有邮件服务、任务调度、JNDI定位,EJB集成、远程访问、缓存以及多种视图层框架的...

    Spring.3.x企业应用开发实战(完整版).part2

    16.7.2 使用Spring Servlet API模拟对象 16.7.3 使用Spring RestTemplate测试 16.7.4 使用Selenium测试 16.8 小结 第17章 实战案例开发 17.1 论坛案例概述 17.1.1 论坛整体功能结构 17.1.2 论坛用例描述 17.1.3 主要...

    Spring攻略(第二版 中文高清版).part1

    6.2 在你的Servlet和过滤器中使用Spring 214 6.2.1 问题 214 6.2.2 解决方案 215 6.2.3 工作原理 215 6.3 将Spring与Struts 1.x集成 220 6.3.1 问题 220 6.3.2 解决方案 220 6.3.3 工作原理 220 6.4...

    spring3.2与Ibatis整合

    spring3.2与Ibatis整合,在servlet中获取bean

    springweb3.0MVC注解(附实例)

    <bean class="org.springframework.web.servlet.mvc.annotation. AnnotationMethodHandlerAdapter"/> <!-- ③:对模型视图名称的解析,即在模型视图名称添加前后缀 --> <bean class="org.springframework.web....

    Spring_Framework_ API_5.0.5 (CHM格式)

    请注意,在 Spring5 中,传统的 SpringMVC 支持 Servlet3.1 上运行,或者支持 JavaEE7 的服务器。 5. 函数式web框架 除了响应式功能之外,Spring5 还提供了一个函数式Web框架。它提供了使用函数式编程风格来定义...

    基于 MySQL+Tomcat+Servlet+JSP 的简单作业管理系统源码+数据库+项目说明.zip

    - 使用 Spring IoC 管理对象 - 添加 database-mvc module,派生自 database module - web-mvc-context.xml 中添加 component-scan - jdbc 包均使用 @Component 注册为 Bean - 使用 @Autowired 装配对象 - 重构 ...

    j2ee简介(包括servletjavabean jsp jdbc hibernate struts spring)

    j2ee简介(包括servletjavabean jsp jdbc hibernate struts spring)

    Spring攻略(第二版 中文高清版).part2

    6.2 在你的Servlet和过滤器中使用Spring 214 6.2.1 问题 214 6.2.2 解决方案 215 6.2.3 工作原理 215 6.3 将Spring与Struts 1.x集成 220 6.3.1 问题 220 6.3.2 解决方案 220 6.3.3 工作原理 220 6.4...

    Spring.html

    Spring IOC 控制反转:把创建对象的权利交给Spring 创建对象 1.无参构造<bean class=""> ... 2....在Servlet中使用WebApplicationContextUtils获取容器对象 5.使用容器对象去获取Service对象

Global site tag (gtag.js) - Google Analytics