`
473687880
  • 浏览: 482528 次
文章分类
社区版块
存档分类
最新评论

在Java Web应用中获取Spring管理的Bean的方法

 
阅读更多

前段时间在项目中遇到了这样一种问题:需要在JSP中访问后台由Spring管理的业务类代码,而这些业务类内部又涉及到了其它若干类的注入,如jdbc的service。

首先想到的是使用WebApplicationContext,即在jsp页面中以servletContext为参数,调用WebApplicationContextUtils工具的getWebApplicationContext或getRequiredWebApplicationContext方法:

<%
         ApplicationContext ac =WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext());
         ReportFunctions  rf =(ReportFunctions)ac.getBean(ReportFunctions.class);
         out.print(rf.devCountTableListAllZone());
%>

此方法需要在页面引用org.springframework.web.context.support.WebApplicationContextUtilsorg.springframework.context.ApplicationContext两个类,当多个jsp页面有同样需求的时候,这种写法显得比较繁琐,且重用性不高,于是笔者想到了使用一个工具类的静态变量来保存applicationContext,这样就可以在所有的java代码中方便地引用它了!而在Spring中,得到并保存applicationContext的最便捷的方法莫过于实现ApplicationContextAware接口了,于是有了下面的工具类:

<script src="https://code.csdn.net/snippets/65498.js" type="text/javascript"></script>

于是,我们只需要(在jsp页面)中引用SpringContextHolder,就可以轻松获取Spring管理的bean了:

ReportFunctions reportF =SpringContextHolder.getBean(ReportFunctions.class);

不过话说回来,提醒大家要注意的是,虽然jsp页面可以很方便地引用后台的所有业务代码,jsp页面应该主要用于展示层,而不应该混入过多的控制层代码。

分享到:
评论

相关推荐

    java web开发技术大全1 pdf

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》通过对SSH中的各种技术循序渐进地讲解,使读者尽快掌握开发基于SSH的Web程序的方法。《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+...

    Java Web编程宝典

    主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e技术入门、Hibernate高级应用、Spring核心之IoC、...

    Java Web开发技术大全5.z05 pdf

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》通过对SSH中的各种技术循序渐进地讲解,使读者尽快掌握开发基于SSH的Web程序的方法。《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+...

    java web开发技术大全3 z03 pdf

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》通过对SSH中的各种技术循序渐进地讲解,使读者尽快掌握开发基于SSH的Web程序的方法。《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+...

    完整版Java web开发教程PPT课件 Java开发进阶教程 第13章 spring ioc aop(共18页).pptx

    完整版Java web开发教程PPT课件 Java开发进阶教程 第09章 jstl、el、java bean(共18页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第10章 过滤器、监听器、自定义标签(共19页).pptx 完整版Java web...

    完整版Java web开发教程PPT课件 Java开发进阶教程 第09章 jstl、EL、Bean(共18页).pptx

    完整版Java web开发教程PPT课件 Java开发进阶教程 第09章 jstl、el、java bean(共18页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第10章 过滤器、监听器、自定义标签(共19页).pptx 完整版Java web...

    spring依赖注入bean

    这是在网上下载的例子,平时我们用的ioc都是在web中,本例实现在java application中实现依赖注入

    java web开发技术大全4 z04 pdf

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》通过对SSH中的各种技术循序渐进地讲解,使读者尽快掌握开发基于SSH的Web程序的方法。《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e技术入门、Hibernate高级应用、Spring核心之IoC、...

    精通Spring 4.x 企业应用开发实战 高清完整版PDF书及随书源码

    这些新功能实用性强、易用性高,可大幅降低Java应用,特别是Java Web应用开发的难度,同时有效提升应用开发的优雅性。本书是在《精通Spring 3.x――企业应用开发详解》的基础上,历时一年的重大调整改版而成的,延续...

    基于java ssh框架实现机票订购管理系统v2附数据库文件+文档说明

    Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大...

    《Java Web编程宝典(十年典藏版)》光盘源码

    主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e技术入门、Hibernate高级应用、Spring核心之IoC、...

    Java Web开发技术大全.zip pdf文件

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》通过对SSH中的各种技术循序渐进地讲解,使读者尽快掌握开发基于SSH的Web程序的方法。《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+...

    Java Web程序设计教程

    1.2使用java开发web应用 3 1.2.1面向对象的编程语言 3 1.2.2丰富的框架技术 4 1.2.3xml、css的应用 4 1.2.4使用javascript与ajax提升用户体验 7 1.3多种集成开发环境 9 1.3.1集成开发环境简介 9 1.3.2web应用...

    完整版Java web开发教程PPT课件 Java开发进阶教程 第19章 mybatis高级应用(共21页).pptx

    完整版Java web开发教程PPT课件 Java开发进阶教程 第09章 jstl、el、java bean(共18页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第10章 过滤器、监听器、自定义标签(共19页).pptx 完整版Java web...

    javaSpring-经典概念题-试题-中文

    此外,还包括了Spring事务管理和Spring Boot框架的介绍,帮助学习者了解如何在Spring应用程序中实现事务管理和利用Spring Boot简化项目开发。通过这组练习题,学习者可以全面掌握Spring框架的核心知识和常用技术,为...

    精通Spring 4.x 企业应用开发实战

    这些新功能实用性强、易用性高,可大幅降低Java应用,特别是Java Web应用开发的难度,同时有效提升应用开发的优雅性。本书是在《精通Spring 3.x――企业应用开发详解》的基础上,历时一年的重大调整改版而成的,延续...

    完整版Java web开发教程PPT课件 Java开发进阶教程 第18章 mybatis框架的搭建以及应用(共13页).pptx

    完整版Java web开发教程PPT课件 Java开发进阶教程 第09章 jstl、el、java bean(共18页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第10章 过滤器、监听器、自定义标签(共19页).pptx 完整版Java web...

    JessMA Java Web 应用开发框架 (v3.2.2-20130815).pdf

    JessMA Java MVC & REST应用开发框架(简称 JessMA)是一套功能完备的高性能Full-Stack Web应用开发框架,内置稳定高效的MVC基础架构和DAO框架(已内置Hibernate、MyBatis和JDBC支持),集成 Action拦截、Form Bean ...

Global site tag (gtag.js) - Google Analytics