前面有一遍博客写了利用监听实现 在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了
分享到:
相关推荐
在 Web 应用程序中,ApplicationContext 的加载机制是非常重要的, Spring 提供了多种方式来加载 ApplicationContext。 首先,Spring 提供了两种选择来加载 ApplicationContext:ContextLoaderListener 和 ...
在Spring中,典型的获取ApplicationContext对象的方式是使用ApplicationContext接口的一个实现类,如ClassPathXmlApplicationContext。这是一个根据给定XML文件的类路径的上下文实现。通常我们会在初始化Spring IoC...
在Spring框架中,ApplicationContext是核心组件,它负责加载配置,管理Bean的生命周期,并提供依赖注入。Quartz则是一个强大的任务调度库,可以用于计划和执行周期性任务。本篇文章将探讨如何结合Spring的...
在 Spring 中,ApplicationContext 是一个至关重要的接口,它是应用上下文的实现,负责管理bean的生命周期和装配。标题提到的“ClassPathXmlApplicationContext”是 Spring 提供的三种 ApplicationContext 实现之一...
ApplicationContext还支持Bean的懒加载、单例或多例管理、Profile功能(根据环境选择加载不同的配置)、以及与其他Spring模块(如Spring Data、Spring Security等)的集成。 总的来说,ApplicationContext作为...
在Spring框架中,ApplicationContext和BeanFactory是两种不同的bean容器,它们各自有其特性和应用场景,理解二者的区别对于深入学习和使用Spring至关重要。 首先,BeanFactory是Spring中最基础的bean管理容器,它...
在Spring框架中,`ApplicationContext`是一个非常重要的接口,它提供了加载和管理Bean定义,以及获取Bean实例的功能。本文将深入探讨如何在Spring中获取`ApplicationContext`的公用方法,并结合提供的两个文件名`...
在 Spring 框架中,获取 WebApplicationContext 和 ApplicationContext 对象是非常重要的,因为它们提供了访问 Spring 容器中的 Bean 对象的入口。下面将详细介绍五种获取 WebApplicationContext 和 ...
这个监听类通常会实现Java的`FileObserver`接口,或者利用第三方库如`org.springframework.util.FileWatcher`。监听类会在启动时开启一个线程,持续监视配置文件的修改、创建、删除等事件。 线程的不断监听是关键...
在Spring框架中,`ApplicationContext` 是一个非常重要的接口,它提供了对整个应用上下文的访问,包括所有已初始化的Bean以及它们之间的依赖关系。通过`ApplicationContext`,我们可以获取到Spring容器管理的所有...
在实际应用中,我们还需要配置Spring的ApplicationContext,加载配置文件,并获取`DocumentService`的实例,如下所示: ```java ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); ...
在实际应用中,我们通常使用`ApplicationContext`来加载配置文件并获取bean。`ApplicationContext`是Spring容器的高级接口,提供了更多的企业级服务。例如,我们可以如下方式获取并调用`HelloWorld` bean: ```java...
在Spring中,可以通过ApplicationContext接口的实现类,比如ClassPathXmlApplicationContext,来加载位于classpath中的配置文件。例如,创建一个ApplicationContext对象的代码如下: ```java ApplicationContext ...
该接口提供了一个setApplicationContext方法,在Bean初始化后,Spring会判断该Bean是否实现了该接口,如果是,则调用setApplicationContext方法,并将容器中的ApplicationContext传入。 下面是一个示例代码: ```...
本项目以"Spring_依赖注入_面向接口编程_不同加载方式"为主题,旨在帮助初学者理解Spring的核心特性——依赖注入(Dependency Injection,简称DI),以及如何通过面向接口编程来提高代码的可维护性和可扩展性。...
在Spring应用中,Context通常通过`ApplicationContext`接口来实例化,如`ClassPathXmlApplicationContext`或`FileSystemXmlApplicationContext`,这些类用于加载XML配置文件并初始化bean。 创建自定义对象的基本...
在Web应用中集成Spring,主要是通过配置`web.xml`文件来完成的。具体步骤如下: 1. **引入Spring的依赖**:首先需要在项目的pom.xml文件或build.gradle文件中添加Spring框架的相关依赖。 2. **配置Spring监听器**...
`ApplicationContextAware`是Spring提供的一个接口,它允许我们在类中注入ApplicationContext。首先,我们需要在静态服务类或者一个非静态的辅助类中实现这个接口。当Spring容器初始化完成后,会自动调用`...