1.servlet
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中的配置,而不用每次都重新加载,大大提高了系统的效率
2.实现ApplicationContextAware接口 将application注入进去
3.ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
4.ApplicationContext applicationContext = new FileSystemXmlApplicationContext("applicationContext.xml");
分享到:
相关推荐
综上所述,`Spring 获得applicationcontext公用方法`涉及了Spring框架中的核心概念,包括`ApplicationContext`的创建、获取以及在实际项目中的使用方式。通过`MyApplicationContextUtil`这样的静态工具类,我们可以...
在Spring中,ApplicationContext(应用程序上下文)是容器的核心,负责配置和管理应用中对象的生命周期和依赖关系。在实际开发过程中,经常需要从各个角落获取到这个ApplicationContext对象,以便于能够使用Spring...
在Spring框架中,`ApplicationContext` 是一个非常重要的接口,它提供了对整个应用上下文的访问,包括所有已初始化的Bean以及它们之间的依赖关系。通过`ApplicationContext`,我们可以获取到Spring容器管理的所有...
Spring ApplicationContext.xml配置是 Spring 框架中非常重要的一部分,它提供了企业级服务,并且可以通过依赖注入来获得简单而有效的测试能力。然而,在大项目中,XML 配置文件可能会变得冗长而不易使用。因此,...
首先,ApplicationContext接口继承了MessageSource接口,因此它自然地获得了国际化消息支持的功能。MessageSource接口是Spring框架中用于访问消息的策略接口,它可以被用来解析消息,并支持国际化。 在...
7. **异常处理**:Spring的异常翻译功能可以将服务端的业务异常转换为SOAP错误,使客户端能够获得更友好的错误信息。 8. **测试和调试**:整合后的Web服务可以通过Spring的测试框架进行单元测试,同时XFire提供了...
首先,Spring容器(ApplicationContext)是管理Bean的中心,它负责Bean的生命周期和依赖注入。获取Bean主要有以下几种方式: 1. **通过名称获取Bean** 使用`ApplicationContext`的`getBean(String name)`方法可以...
Spring的容器管理,如ApplicationContext,是Spring框架的基础。4.2.4版本中,容器的启动速度和内存占用都得到了优化,提高了整体性能。此外,容器还支持自动扫描和组件注册,减少了配置文件的复杂性。 在测试方面...
2. **配置Spring**:创建Spring的配置文件(如applicationContext.xml),在其中定义需要管理的bean,包括Action类和其他依赖服务。 3. **配置Struts2**:在struts.xml中,不再直接实例化Action类,而是使用Spring...
这个处理器允许Struts的ActionServlet将请求的处理委托给Spring的ApplicationContext,从而让Spring管理业务逻辑组件。 1. **Struts框架**:Struts是一个基于MVC设计模式的Java Web框架,主要用于构建动态Web应用。...
- **解压**:首先,你需要将"spring需要的jar包"这个压缩文件解压,这将得到上述提到的各个jar文件。 - **导入**:然后,将这些jar文件添加到你的项目的类路径中。如果是Maven项目,可以在pom.xml中添加对应的依赖...
1. **Core Container**:核心容器包含Bean工厂(BeanFactory)和应用上下文(ApplicationContext),它们负责管理对象的生命周期和依赖注入。 2. **Data Access/Integration**:数据访问模块包括JDBC、ORM(Object-...
ApplicationContext不仅包含BeanFactory的功能,还添加了处理消息资源、应用事件以及集成其他Spring模块的能力。 2. **AOP**:Spring的AOP模块允许开发者定义“方面”,这些方面可以封装关注点,如日志、事务管理等...
1. Core Container:包含了Bean工厂(BeanFactory)和ApplicationContext,是Spring框架的基础。BeanFactory负责管理应用对象的生命周期和依赖注入,而ApplicationContext则提供了更多的企业级服务,如事件传播、...
5. **配置文件**:整合需要修改Struts2的struts.xml和Spring的applicationContext.xml配置文件。在struts.xml中,我们需要配置Struts2-Spring插件,并声明Action类。在applicationContext.xml中,定义Bean并指定它们...
1. **核心容器**:包括Core Container和Beans模块,定义了Spring的基本部分,如Bean工厂、ApplicationContext和依赖注入功能。Bean工厂是Spring的基石,它负责创建、管理和配置对象。 2. **数据访问/集成**:如JDBC...
通过整合WebWork2.1和Spring,开发者可以获得一个既具备WebWork强大动作处理能力,又具有Spring全面后端服务的高效开发环境。这有助于提升代码的可维护性和可扩展性,降低系统的复杂性。不过,要注意的是,WebWork...
1. **核心容器**:Spring的核心组件包括Bean工厂和ApplicationContext,它们负责对象的创建、配置和管理。在5.0.7版本中,增强了依赖注入(DI)机制,使得配置更加灵活,支持了更多元化的注解和表达式语言,如`@...
然而,随着Spring Boot的出现,这些问题得到了一定程度的缓解,Spring Boot简化了Spring应用的启动和配置过程。 6. Spring的IoC容器 IoC容器是Spring的核心,负责管理对象的生命周期和依赖关系。通过XML、注解或...
在Spring 4.1.3版本中,核心容器(Core Container)组件得到了加强,主要包括Spring Beans、ApplicationContext和Core Container模块。Beans模块提供了一个框架来配置、组装和管理Java对象,而ApplicationContext则...