`

项目启动时,保存Spring的ApplicationContext实例

阅读更多

         今天遇到一个问题就是要实例化对象的一些对象的时候,里面需要用到数据库操作,所以里面有dao层的引用,但是这些要创建的对象,使用的参数都不一定一样的,所以在这些对象里我需要有一个ApplicationContext的引用来获取相应的资源对象。网上找了一下,找到了处理的方法,记录一下。为了避免多次加载或者获取ApplicationContext对象的麻烦,这个时候我们应该在项目启动的时候就把系统启动时的创建的那个ApplicationContext的实例保存起来,用一个静态变量保存,方便以后使用。做法就是继承ContextLoaderListener类,并重写contextInitialized方法,从里面取得ApplicationContext对象并保存。代码如下:

 

public class MyContextLoaderListener extends ContextLoaderListener {
	@Override
	public void contextInitialized(ServletContextEvent event) {
		ServletContext context = event.getServletContext(); 
        super.contextInitialized(event); 
        ApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(context); 
        SystemApplicationContext.setContext(ctx);
	}
}

 

      然后修改web.xml文件,使用自己的applicaitonContext对象

 

<listener>
		<listener-class>com.cdj.test.MyContextLoaderListener</listener-class>
</listener>

 

      需要使用ApplicationContext对象的时候只要使用SystemApplicationContext.getContext();方法即可。

分享到:
评论

相关推荐

    Spring获取ApplicationContext对象工具类的实现方法

    最后,虽然使用工具类的方法可以方便地获取ApplicationContext,但需要谨慎处理单例的问题,确保线程安全,以及避免重复创建ApplicationContext实例,这可能会导致资源浪费或者产生异常。在实际项目中,还应该根据...

    Spring中ApplicationContext加载机制

    通过以上配置,Web 容器会自动加载 /WEB-INF/applicationContext.xml 初始化 ApplicationContext 实例,如果需要指定配置文件位置,可通过 context-param 加以指定: ```xml &lt;param-name&gt;contextConfigLocation ...

    Spring中ApplicationContext和beanfactory区别.rar

    7. **更丰富的初始化**:ApplicationContext在启动时会初始化所有单例bean,确保在应用运行时,所有bean都已准备好。 在实际应用中,我们通常推荐使用ApplicationContext,因为它提供了更为全面的特性集,适合于...

    Spring ApplicationContext.xml配置的12个技巧演示教学.pdf

    "Spring ApplicationContext.xml配置的12个技巧演示教学" Spring ApplicationContext.xml配置是 Spring 框架中非常重要的一部分,它提供了企业级服务,并且可以通过依赖注入来获得简单而有效的测试能力。然而,在...

    spring 获得applicationcontext公用方法

    - 在Web应用中,推荐使用Servlet监听器来初始化`ApplicationContext`,以便在应用启动时加载,同时避免在多线程环境下可能出现的问题。 - 避免在不必要的情况下传播`ApplicationContext`,因为这可能导致不必要的...

    三、Spring源码分析——ApplicationContext

    《Spring源码分析——ApplicationContext》 在Java世界中,Spring框架是不可或缺的一部分,它以其强大的IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)特性,极大地...

    《Spring的数据源配置文件模板》applicationContext.zip

    以上就是Spring中配置数据源的基本步骤,通过`applicationContext.xml`文件,你可以根据项目需求灵活调整数据源配置,确保数据库连接的高效和稳定。在实际开发中,你可能还需要考虑更多因素,比如数据库连接池的优化...

    spring实例(经典推荐)SpringMVCDemo.rar

    本实例“SpringMVCDemo”深入探讨了Spring MVC模式在实际项目中的应用,旨在帮助开发者更好地理解和掌握Spring的核心概念与技术。SpringMVCDemo是一个典型的Struts、Spring和Hibernate集成的项目,它充分展示了这三...

    spring为ApplicationContext提供的3种实现分别为:ClassPathXmlApplicationContext

    在Spring框架中,ApplicationContext是核心接口,它扮演着应用程序上下文的角色,负责管理和提供bean实例。标题提到的"spring为ApplicationContext提供的3种实现",是指Spring框架中用于初始化和管理bean的三种主要...

    CXF结合Spring项目实例

    在与CXF结合时,Spring可以通过配置文件(如`applicationContext.xml`)来声明式地管理CXF服务的bean,包括服务接口、实现类、以及相关的数据绑定和异常处理类。这种方式提高了代码的可维护性和可测试性,因为所有的...

    spring+quartz+maven项目实例

    【标题】"Spring+Quartz+Maven项目实例"是一个基于Spring框架集成Quartz作业调度库的实战项目,采用Maven作为构建工具。这个实例旨在展示如何在Java应用程序中实现定时任务,支持两种运行模式,既可以直接以独立的...

    spring框架实例

    Spring框架是Java开发中的核心框架,它为构建高质量的、组件化的应用提供了全面的解决方案。...通过研究和实践这个实例,开发者可以提升其在Spring框架上的技能,更好地应对实际项目开发中的挑战。

    spring 简单实例 事务回滚

    这会告诉Spring在调用此方法时启动一个新的事务,并在方法正常结束时提交事务,或者在遇到异常时回滚事务。 4. 异常处理:为了触发事务回滚,方法内通常会抛出未检查异常(继承自`RuntimeException`的异常)或显式...

    RabbitMq与Spring整合实例

    5. **启动和测试**:启动RabbitMQ服务器,运行你的Spring应用,通过生产者发送消息,观察消费者是否正确接收并处理。 这个实例展示了如何在Spring应用中使用RabbitMQ进行简单的消息通信。实际上,RabbitMQ和Spring...

    spring定时器实例

    创建定时任务时,我们可以在任何可注入`ApplicationContext`的bean中定义一个方法,并使用`@Scheduled`注解。例如,我们可以设置一个每分钟执行一次的任务: ```java @Component public class MyScheduledTasks...

    spring入门实例

    在这个"spring入门实例"中,我们将探索如何利用Spring和Spring JDBC构建一个简单的登录模块。 首先,我们需要理解Spring框架的基础概念。Spring框架的核心在于IoC(Inversion of Control,控制反转)和DI...

    spring3.0 + Quartz1.52 + applicationContext.xml

    4. **启动Scheduler**:最后,确保在Spring容器启动时,Scheduler也能够被正确启动。这通常通过`init-method`属性实现,或者在主程序中调用`scheduler.start()`方法。 5. **编写Job类**:Job类需要实现`org.quartz....

    最简单的一个spring注解实例

    本实例将深入探讨Spring中的注解使用,特别是如何创建一个最简单的Spring注解实例。 首先,我们需要了解Spring的核心组件——Spring容器,也称为ApplicationContext。这个容器负责管理应用程序中的bean,包括它们的...

    spring4的所有jar包+applicationContext.xml+web.xml

    此外,还可以配置Spring的ContextLoaderListener,该监听器会加载`applicationContext.xml`,使得Spring的IoC容器能够在Web应用启动时初始化。 4. **Spring4的新特性**: - **Java配置**:Spring4增强了对Java配置...

    spring中通过ApplicationContext getBean获取注入对象的方法实例

    当Spring容器创建了一个实现了`ApplicationContextAware`的Bean时,会自动调用其`setApplicationContext`方法,传入当前的`ApplicationContext`实例。这样,我们就可以在程序中静态持有这个`ApplicationContext`,...

Global site tag (gtag.js) - Google Analytics