`
kewen342757003
  • 浏览: 144686 次
社区版块
存档分类
最新评论

利用Spring提供的接口,在Spring完成加载后获取ApplicationContext

 
阅读更多
前面有一遍博客写了利用监听实现 在Spring加载后,获取到Spring管理的 applicationContext对象。
http://kewen1989.iteye.com/blog/1891124

当初也是常事了Spring提供的接口,但是最后没有实现,没办法的情况下才用了自己写一个监听的方法,后来求助kyfxby大神,明白了当初是哪里出了问题:

这个java类是没有任何问题的
public class ApplicationContextHelper implements ApplicationContextAware
{
    private static ApplicationContext context;

    @Override
    public void setApplicationContext(ApplicationContext contex) throws BeansException
    {
        ApplicationContextHelper.context = contex;
    }

    public static ApplicationContext getContext()
    {
        return context;
    }

}


这个配置也是没有任何问题的
	<!-- 这个bean主要是为了得到ApplicationContext 所以它不需要其它属性-->
	<bean id ="getContext" class="com.kewen.util.ApplicationContextHelper"></bean>


问题就出在了Spring配置文件中的这一句话上:
default-autowire="byName" default-lazy-init="true"
default-lazy-init="true"

这个True会导致Spring延时加载这个bean,当它是工具类,所以这个使用的时候需要改成False

这样,就能实现利用Spring提供的接口获取它的applicationContext了
分享到:
评论
1 楼 zzy2011266 2014-04-23  
点赞!!!简单实用

相关推荐

    Spring中ApplicationContext加载机制

    在 Web 应用程序中,ApplicationContext 的加载机制是非常重要的, Spring 提供了多种方式来加载 ApplicationContext。 首先,Spring 提供了两种选择来加载 ApplicationContext:ContextLoaderListener 和 ...

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

    在Spring中,典型的获取ApplicationContext对象的方式是使用ApplicationContext接口的一个实现类,如ClassPathXmlApplicationContext。这是一个根据给定XML文件的类路径的上下文实现。通常我们会在初始化Spring IoC...

    利用spring的ApplicationContext在程序中唤醒quartz的job

    在Spring框架中,ApplicationContext是核心组件,它负责加载配置,管理Bean的生命周期,并提供依赖注入。Quartz则是一个强大的任务调度库,可以用于计划和执行周期性任务。本篇文章将探讨如何结合Spring的...

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

    在 Spring 中,ApplicationContext 是一个至关重要的接口,它是应用上下文的实现,负责管理bean的生命周期和装配。标题提到的“ClassPathXmlApplicationContext”是 Spring 提供的三种 ApplicationContext 实现之一...

    三、Spring源码分析——ApplicationContext

    ApplicationContext还支持Bean的懒加载、单例或多例管理、Profile功能(根据环境选择加载不同的配置)、以及与其他Spring模块(如Spring Data、Spring Security等)的集成。 总的来说,ApplicationContext作为...

    Spring中ApplicationContext和beanfactory区别.rar

    在Spring框架中,ApplicationContext和BeanFactory是两种不同的bean容器,它们各自有其特性和应用场景,理解二者的区别对于深入学习和使用Spring至关重要。 首先,BeanFactory是Spring中最基础的bean管理容器,它...

    spring 获得applicationcontext公用方法

    在Spring框架中,`ApplicationContext`是一个非常重要的接口,它提供了加载和管理Bean定义,以及获取Bean实例的功能。本文将深入探讨如何在Spring中获取`ApplicationContext`的公用方法,并结合提供的两个文件名`...

    Spring获取webapplicationcontext,applicationcontext几种方法详解

    在 Spring 框架中,获取 WebApplicationContext 和 ApplicationContext 对象是非常重要的,因为它们提供了访问 Spring 容器中的 Bean 对象的入口。下面将详细介绍五种获取 WebApplicationContext 和 ...

    Spring动态加载配置文件

    这个监听类通常会实现Java的`FileObserver`接口,或者利用第三方库如`org.springframework.util.FileWatcher`。监听类会在启动时开启一个线程,持续监视配置文件的修改、创建、删除等事件。 线程的不断监听是关键...

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

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

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

    在Spring框架中,`ApplicationContext` 是一个非常重要的接口,它提供了对整个应用上下文的访问,包括所有已初始化的Bean以及它们之间的依赖关系。通过`ApplicationContext`,我们可以获取到Spring容器管理的所有...

    利用spring实现打印机

    在实际应用中,我们还需要配置Spring的ApplicationContext,加载配置文件,并获取`DocumentService`的实例,如下所示: ```java ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); ...

    利用Spring输出HelloWorld

    在实际应用中,我们通常使用`ApplicationContext`来加载配置文件并获取bean。`ApplicationContext`是Spring容器的高级接口,提供了更多的企业级服务。例如,我们可以如下方式获取并调用`HelloWorld` bean: ```java...

    Spring中使用classpath加载配置文件浅析

    在Spring中,可以通过ApplicationContext接口的实现类,比如ClassPathXmlApplicationContext,来加载位于classpath中的配置文件。例如,创建一个ApplicationContext对象的代码如下: ```java ApplicationContext ...

    SpringBoot获取ApplicationContext的3种方式

    该接口提供了一个setApplicationContext方法,在Bean初始化后,Spring会判断该Bean是否实现了该接口,如果是,则调用setApplicationContext方法,并将容器中的ApplicationContext传入。 下面是一个示例代码: ```...

    Spring_依赖注入_面向接口编程_不同加载方式

    本项目以"Spring_依赖注入_面向接口编程_不同加载方式"为主题,旨在帮助初学者理解Spring的核心特性——依赖注入(Dependency Injection,简称DI),以及如何通过面向接口编程来提高代码的可维护性和可扩展性。...

    利用Spring Context上下文创建自定义对象

    在Spring应用中,Context通常通过`ApplicationContext`接口来实例化,如`ClassPathXmlApplicationContext`或`FileSystemXmlApplicationContext`,这些类用于加载XML配置文件并初始化bean。 创建自定义对象的基本...

    struts加载spring的方法

    在Web应用中集成Spring,主要是通过配置`web.xml`文件来完成的。具体步骤如下: 1. **引入Spring的依赖**:首先需要在项目的pom.xml文件或build.gradle文件中添加Spring框架的相关依赖。 2. **配置Spring监听器**...

Global site tag (gtag.js) - Google Analytics