`
- 浏览:
32936 次
-
[java web]关于applicationcontext的知识
今天学习了关于applicationcontext的知识,主要是在代码中遇到了,希望能分享下。
了解集中获取applicationcontext的方式:
方法一:在初始化时保存ApplicationContext对象
代码:
ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext.xml");
ac.getBean("beanId");
这种方式适用于采用Spring框架的独立应用程序,需要程序通过配置文件手工初始化Spring的情况。
方法二:通过Spring提供的工具类获取ApplicationContext对象
代码:
import org.springframework.web.context.support.WebApplicationContextUtils;
ApplicationContext ac1 = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext sc);
ApplicationContext ac2 = WebApplicationContextUtils.getWebApplicationContext(ServletContext sc);
ac1.getBean("Bean1");
ac2.getBean("Bean2");
说明:
这种方式适合于采用Spring框架的B/S系统,通过ServletContext对象获取ApplicationContext对象,然后在通过它获取需要的类实例。
上面两个工具方式的区别是,前者在获取失败时抛出异常,后者返回null。
其中 servletContext sc 可以具体 换成 servlet.getServletContext()或者 this.getServletContext() 或者 request.getSession().getServletContext(); 另外,由于spring是注入的对象放在ServletContext中的,所以可以直接在ServletContext取出
WebApplicationContext 对象: WebApplicationContext webApplicationContext = (WebApplicationContext) servletContext.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
另外转一个比较赞成的说法:http://hi.baidu.com/xrmeng/item/3b8eab839f368ae9e596e03e
Spring获取ApplicationContext的正确方式
Spring获取ApplicationContext的正确方式 前两天联华对单系统频频出现out of memory的问题,经过层层分析,终于弄明白原来瓶颈出现在Spring获取Bean那一步上。以前的做法是在delegate层ApplicationContext context = new ClassPathXmlApplicationContext("Compare.xml"); 这样我把log4j的debug打开后发现,每做1步操作的时候系统都会重新加载这个xml,重新创建Bean的实例,重新获取url-mapping,这无疑是个及其错误的方式。 研究后发现正确的使用方式是: 首先在web.xml里配置ApplicationContext <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param> <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener> 然后在Action中编写如下代码得到Context,(我是覆盖了Struts Action的setServlet方法,也许还有更好的方法)。 public void setServlet(ActionServlet servlet){
super.setServlet(servlet);
ServletContext servletContext = servlet.getServletContext();
WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
// get yours beans } 这样在启动服务时已经加载了xml中的配置,而不用每次都重新加载,大大提高了系统的效率
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
【Java Web项目在线商城】是一个综合性的开发案例,主要用于教授和实践Java Web应用程序的开发技术。这个项目包含了一个完整的在线商城系统,集成了购物、支付、用户管理等多种功能,是学习和理解Web应用开发的绝佳...
学习这个项目,开发者可以深入理解Java Web开发的全过程,包括MVC设计模式、数据库操作、事务管理、异常处理、安全性控制等方面的知识。同时,也能了解到如何集成和配置各种框架,以及如何调试和测试Web应用程序。...
在本章"第3章【源码】java web整合开发实战--基于struts 2+hibernate+spring"中,我们将深入探讨如何在Java Web应用程序中集成三个关键的开源框架:Struts 2、Hibernate和Spring。这些框架分别负责控制层、持久层和...
总的来说,"Java Web开发技术大全"所涵盖的知识点广泛且深入,不仅包括基础的Web客户端技术,还涉及到复杂的服务器端开发技巧。学习并掌握这些内容,开发者能够构建出高效、可扩展的Java Web应用。
以上就是关于Java Web应用的基础配置知识,包括了Web应用的基本目录结构、Eclipse项目配置、Struts2框架配置、Spring框架配置以及Hibernate框架配置等内容。希望这些知识点能够帮助初学者更好地理解Java Web应用的...
以上就是Java Web项目集成Spring框架的基本步骤和核心知识点。随着对Spring的理解加深,你可以探索更高级的功能,如Spring Boot、Spring Cloud等,进一步提升开发效率和应用的可扩展性。记住,实践是最好的老师,...
《基于Java Web的在线音乐管理系统详解》 在线音乐管理系统是一个典型的Web应用程序,它结合了Java技术和MySQL数据库,为用户提供了一种便捷的方式来管理和享受音乐资源。本文将深入探讨该系统的关键技术、实现流程...
"java web ssm仓库管理系统(源码+数据库脚本)" 这个标题揭示了我们要讨论的是一个基于Java Web技术的SSM框架实现的仓库管理系统。SSM是Spring、Spring MVC和MyBatis三个开源框架的组合,它们在Java Web开发中被...
【标题】"基于Java web的仓库管理系统(源码+数据库).zip"是一个包含完整的Java Web应用程序,用于实现仓库管理功能。此系统采用Java技术栈,结合MySQL数据库,为用户提供了一个有效的库存控制和管理工具。 【描述...
Java Web是Java技术在Web应用开发中的应用,涵盖了Servlet、JSP、JSTL、过滤器、监听器、MVC模式、Spring、Struts、Hibernate等众多知识点。本压缩包包含"src"和"web"两个目录,它们分别对应着Java Web应用的主要...
通过学习这些知识点,开发者可以快速掌握使用Eclipse IDE结合Struts、Spring、Hibernate等框架进行Java Web开发的方法和技术。此外,还介绍了Spring对多数据库事务的支持、Struts配置文件的分割、文件上传大小限制等...
【标题】:“基于Java Web+SSM的个人财务管理系统”是一个综合性的项目,它结合了Java Web技术、Spring、SpringMVC和MyBatis(SSM框架)来实现对个人财务数据的管理。这个系统旨在帮助用户高效地记录、跟踪和分析...
通过分析和学习这个项目,可以深入理解Java Web开发的流程,包括MVC设计模式、数据库设计、事务处理、权限控制、异常处理等方面的知识。同时,对于初次接触此类项目的学生,这也是一个很好的实践平台,能帮助他们将...
通过学习和分析这些源代码,开发者可以深入理解Java Web开发的工作原理,掌握如何将理论知识应用到实际项目中。例如,可以学习到如何处理HTTP请求,如何与数据库交互,如何组织应用程序的结构,以及如何实现用户认证...
【标题】"毕业设计 Java web项目源码整合开发ssm-网上淘书吧.rar" 提供的是一个基于Java Web的毕业设计项目,该项目利用了Spring、SpringMVC和MyBatis(SSM)框架进行开发,旨在实现一个在线图书购物平台——"网上淘...
【标题】"毕业设计 Java web项目源码整合开发ssm 网上淘书吧" 涉及的核心技术是Java Web开发中的SSM框架,即Spring、Spring MVC和MyBatis的集成应用。这个项目可能是一个在线书店的模拟平台,允许用户浏览、搜索和...
总的来说,这个基于Java Web的公司财务管理系统为学习者提供了一个宝贵的实战平台,它结合了理论知识与实践经验,有助于提升开发者在Web开发领域的专业素养。同时,对于那些需要进行课程设计或毕业设计的学生,这是...
本项目是一个基于Java Web技术实现的高校就业管理信息...这个高校就业管理信息系统是一个典型的Java Web项目实例,对于学习者来说,可以深入理解Web开发流程,掌握核心技术,并了解如何将理论知识应用于实际项目中。
【Java Web SSM框架详解】 Java Web SSM框架是指Spring、...以上就是关于"基于Java web ssm框架的人事管理系统"的主要知识点,通过学习和实践,开发者可以深入理解Java Web开发的全貌,并掌握SSM框架的使用技巧。
【标题】"基于Java web的网上购物系统"是一款...这个基于Java web的网上购物系统涵盖了Web开发的多个方面,包括MVC设计模式、数据库设计、前端交互、会话管理、安全性等多个知识点,是学习和实践Java Web开发的好材料。