`
xchyou
  • 浏览: 28265 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

获取spring的ApplicationContext对象

阅读更多

方法一:在初始化时保存ApplicationContext对象
new ClassPathXmlApplicationContext("applicationContext.xml").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("beanId");
    ac2.getBean("beanId");
这种方式适合于采用Spring框架的B/S系统,通过ServletContext对象获取ApplicationContext对象,然后在通过它获取需要的类实例。上面两个工具方式的区别是,前者在获取失败时抛出异常,后者返回null。
 
方法三:继承自抽象类ApplicationObjectSupport
     抽象类ApplicationObjectSupport提供getApplicationContext()方法,可以方便的获取到ApplicationContext。Spring初始化时,会通过该抽象类的setApplicationContext(ApplicationContext context)方法将ApplicationContext 对象注入。


方法四:继承自抽象类WebApplicationObjectSupport
         类似上面方法,调用getWebApplicationContext()获取WebApplicationContext
 
方法五:实现接口ApplicationContextAware
     实现该接口的setApplicationContext(ApplicationContext context)方法,并保存ApplicationContext 对象。Spring初始化时,会通过该方法将ApplicationContext 对象注入。
 
总结:系统中用到上述方法的类实际上就于Spring框架紧密耦合在一起了,因为这些类是运行在Spring框架上的,因此,系统中,应该尽量的减少这类应用,使系统尽可能的独立于当前运行环境。
分享到:
评论

相关推荐

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

    在实际开发过程中,经常需要从各个角落获取到这个ApplicationContext对象,以便于能够使用Spring提供的各种服务。本文将详细介绍Spring中获取ApplicationContext对象的工具类实现方法。 在Spring中,典型的获取...

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

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

    Spring中ApplicationContext加载机制

    ApplicationContext 是 Spring 框架中的核心组件之一,负责加载和管理应用程序中的 Bean 对象。在 Web 应用程序中,ApplicationContext 的加载机制是非常重要的, Spring 提供了多种方式来加载 ApplicationContext。...

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

    本文将详细介绍如何在Spring中通过`ApplicationContext`的`getBean`方法获取注入对象,并通过实例来展示其使用。 首先,我们来看`ApplicationContextAware`接口,它是Spring提供的一个回调接口。当Spring容器创建了...

    SpringBoot获取ApplicationContext的3种方式

    SpringBoot获取ApplicationContext的3种方式 在SpringBoot中,获取...结论:通过上面的三种方式,我们可以获取到ApplicationContext对象,然后使用该对象来获取容器中的各种bean组件、注册监听事件、加载资源文件等。

    三、Spring源码分析——ApplicationContext

    当某个事件发生时,ApplicationContext会调用所有已注册的ApplicationListener对象的onApplicationEvent方法,使得组件之间可以通过事件进行通信,而无需直接引用彼此。 5. **国际化与本地化**: ...

    线程中获取spring 注解bean

    当需要在线程中获取Spring注解的bean时,有几种常见的方法: 1. **ThreadLocal**:Spring提供了一种名为`ThreadLocalTargetSource`的特殊`TargetSource`实现,可以将bean实例绑定到当前线程。这样,每个线程都有其...

    获取Spring容器

    在实际开发中,我们通常会使用`ApplicationContext`接口来获取Spring容器。可以通过多种方式来初始化`ApplicationContext`,其中最常见的有以下几种: 1. **XML配置文件**:使用XML配置文件来定义Spring容器中Bean...

    Web项目中获取SpringBean与在非Spring组件中获取SpringBean.pdf

    然而,有时我们需要在非Spring管理的组件或者非Spring环境下获取Spring管理的Bean。这时,我们就需要一种方式来访问Spring的ApplicationContext,它是Spring容器的核心,负责管理所有Bean。 一种常见的做法是创建一...

    JSP 获取Spring 注入对象示例

    本篇将详细讲解如何在JSP中通过Spring的WebApplicationContextUtils工具类获取Spring注入的对象。 首先,我们要明确Spring的依赖注入机制。在Spring框架中,我们可以在XML配置文件或基于注解的方式下定义bean及其...

    JSP Spring ApplicationContext的国际化支持

    JSP Spring ApplicationContext的国际化支持是指在使用Spring框架开发应用时,如何让应用程序支持多语言环境,即能够根据用户的不同语言偏好显示相应的本地化信息。Spring框架通过ApplicationContext接口的国际化...

    Java中Spring获取bean方法小结

    Spring的核心在于其BeanFactory和ApplicationContext,它们使得对象的管理和装配变得简单。这里我们将详细探讨如何在Java中通过Spring获取配置的bean。 1. **BeanFactory与ApplicationContext** - **BeanFactory*...

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

    1. **定义Bean**:在Spring配置文件(通常是`applicationContext.xml`)中,我们需要定义我们的自定义对象,也就是bean。例如,假设我们有一个名为`MyCustomObject`的类,我们可以这样定义: ```xml <!-- 可以...

    普通对象使用spring容器中的对象的实现方法

    这个接口提供了获取ApplicationContext对象的方法,从而可以使用ApplicationContext对象来获取spring容器中的对象。 在实现方法中,我们首先需要创建一个SpringBeanUtil类,这个类实现了ApplicationContextAware...

    普通类调用Spring bean对象

    当我们需要在非Spring管理的普通类中调用Spring管理的bean对象时,需要掌握特定的方法。这篇文档将详细介绍如何实现这一操作,并探讨相关的源码和技术工具。 首先,理解Spring的核心概念——依赖注入(Dependency ...

    Spring Aware标记接口使用案例解析

    ApplicationContextAware 是 Spring 中最常用的 Aware 接口之一,它提供了对ApplicationContext对象的访问能力。通过实现 ApplicationContextAware 接口,Bean 对象可以获取到ApplicationContext 对象,从而访问 ...

    获得spring里注册Bean的四种方法

    获取 Spring 里注册的 Bean 对象可以使用四种方法:继承 BaseDispatchAction、实现 BeanFactoryAware、使用 ApplicationContext、使用 @Autowired。每种方法都有其特点和应用场景,开发者可以根据实际情况选择合适的...

    在action以外的地方获取dao

    在Spring MVC框架中,可以通过`WebApplicationContextUtils`工具类来获取到ApplicationContext对象。具体来说,有两种方式: 1. **`getWebApplicationContext(ServletContext servletContext)`**: - **作用**:此...

    Spring Boot中Bean定义方调用方式解析

    System.out.println("========ApplicationContext 配置成功,在普通类可以通过调用 SpringUtils.getAppContext() 获取 applicationContext 对象,applicationContext=" + SpringUtil.applicationContext + "========...

Global site tag (gtag.js) - Google Analytics