`

Spring中ApplicationContextAware接口用法

    博客分类:
  • SSH
阅读更多

Spring中ApplicationContextAware接口用法

加载Spring配置文件时,如果Spring配置文件中所定义的Bean类,如果该类实现了ApplicationContextAware接口,那么在加载Spring配置文件时,会自动调用ApplicationContextAware接口中的 public void setApplicationContext(ApplicationContext context) throws BeansException方法,并且自动可获得ApplicationContext 对象。前提必须在Spring配置文件中指定改类。

程序如下:

Spring配置文件中配置:
<bean id="springContext" class="com.shine.spring.SpringContextHelper"></bean>

 

/**

 * ApplicationContext的帮助类

 * 自动装载ApplicationContext

 */

public class SpringContextHelper implements ApplicationContextAware {

    private static ApplicationContext context ;

    /*

     * 注入ApplicationContext

     */

    @Override

    public void setApplicationContext(ApplicationContext context) throws BeansException {

        //在加载Spring时自动获得context

        SpringContextHelper.context = context;

        System.out.println(SpringContextHelper.context);

    }

    public static Object getBean(String beanName){

        return context.getBean(beanName);

    }

}

分享到:
评论

相关推荐

    spring-aware接口实现与bean作用域(spring多容器层面)

    `ApplicationContextAware`是其中的一个典型接口,当我们想要在非托管类(即非Spring Bean)中获取Spring容器中的其他Bean时,可以使用这个接口。 `ApplicationContextAware`接口提供了`setApplicationContext`方法...

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

    在 Spring Aware 标记接口使用案例解析中,我们可以看到一个简单的示例代码,演示了如何使用 ApplicationContextAware 接口来获取到ApplicationContext 对象。首先,我们定义了一个 SpringAware 类,该类实现了 ...

    Spring各种回调接口[定义].pdf

    在Spring框架中,回调接口是实现特定功能的关键组件,它们允许受管理的Bean与Spring容器进行交互,并在Bean生命周期的不同阶段执行自定义操作。以下是一些主要的回调接口及其详细说明: 1. **BeanClassLoaderAware*...

    Spring实现Aware接口自定义获取bean的两种方式

    在Spring编程中,经常需要根据bean的名称来获取相应的bean对象,这时候,可以通过实现BeanFactoryAware和ApplicationContextAware接口来满足需求。 一、实现BeanFactoryAware接口 BeanFactoryAware接口是Spring...

    SPRING中文开发参考手册

    - **ApplicationContextAware**:Bean 可以通过实现此接口来获取 ApplicationContext。 - **BeanPostProcessor**、**BeanFactoryPostProcessor**:同上。 - **PropertyPlaceholderConfigurer**:同上。 #### 四、...

    17. Spring Boot普通类调用bean【从零开始学Spring Boot】

    你可以通过实现ApplicationContextAware接口,或者直接在代码中创建ApplicationContext实例来访问bean。 5. **非Spring管理类调用bean**: 在非Spring管理的类中,如果你想使用Spring容器中的bean,有以下几种方式...

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

    在这个实现方法中,我们可以使用spring框架提供的依赖注入机制来将spring容器中的对象注入到普通对象中,从而实现对spring容器中的对象的使用。 实现方法的主要思想是使用spring框架提供的ApplicationContextAware...

    获取spring容器的方法

    本文将深入探讨几种常见的获取Spring容器的方法,包括使用`ApplicationContext`、通过`ServletContext`、利用`ApplicationObjectSupport`、`WebApplicationObjectSupport`以及实现`ApplicationContextAware`接口等。...

    Spring中关于Bean的管理的课件

    10. **Aware接口**:Spring提供了一系列的Aware接口,如BeanNameAware、BeanFactoryAware和ApplicationContextAware,这些接口使得Bean可以在运行时获取自身的一些信息,例如Bean的名字、所处的Bean工厂或...

    spring监听器共20页.pdf.zip

    1. **理解ApplicationContextAware接口**:当一个Bean实现了ApplicationContextAware接口,Spring容器会在Bean初始化后,自动将ApplicationContext对象注入到Bean中,使得Bean可以获取到上下文中的其他Bean。...

    netty-spring-mvc-master.rar_netty_netty spring_netty4 spring_s

    这通常可以通过实现Spring的ApplicationContextAware接口来实现,这样可以在Netty的启动过程中获取到Spring的ApplicationContext,从而获取到需要的服务实例,例如MySQL的连接池。 在具体实现中,可以创建一个...

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

    总的来说,获取非Spring管理组件中的SpringBean主要有两种方式:一是通过实现`ApplicationContextAware`接口并存储ApplicationContext,二是使用注解和静态内部类来注入BeanFactory。这两种方法都是Spring框架提供的...

    线程中获取spring 注解bean

    线程中的操作往往涉及到多线程环境下的资源共享和管理,因此,如何在线程中正确地获取并使用Spring通过注解注入的对象,是一个常见的问题。本文将详细探讨这个主题。 首先,Spring的注解主要分为三类:配置注解(如...

    用maven整合struts+spring+hibernate

    - 将Struts 2的Action与Spring的Bean关联,通常通过实现Spring的ApplicationContextAware接口。 - 使用Spring的JdbcTemplate或Hibernate的Session进行数据库操作。 6. 测试与调试: 在整合完成后,可以通过单元...

    Spring在应用中获得Bean的方法

    在开发中,Spring提供的各种工具如`BeanPostProcessor`、`InstantiationAwareBeanPostProcessor`等接口,允许我们自定义Bean的创建和初始化过程,进一步扩展Spring的功能。 总结来说,Spring提供多种方式让我们在...

    Spring5.0中文开发手册

    - 介绍了如何管理和配置Spring应用程序中的依赖关系,以及推荐的命名约定。 - **1.2.3.2 Logging 日志** - 描述了如何配置和使用日志框架与Spring一起工作。 #### 二、核心技术 ##### 3.1 Spring IoC容器和bean...

    详解如何在低版本的Spring中快速实现类似自动配置的功能

    2. **XxxAware接口**:如ApplicationContextAware和BeanFactoryAware,可以让我们获取到ApplicationContext或BeanFactory,从而在Bean中直接访问到整个应用上下文或Bean工厂,进行更深入的定制。 3. **@Autowired...

    Spring Bean生命周期.pdf

    在Spring 3.0之前,初始化主要通过实现InitializingBean接口的afterPropertiesSet方法或在XML配置文件中指定init-method属性来完成。从Spring 3.0开始,推荐使用Java配置类中的@Bean注解来指定初始化方法。 4. 销毁...

    详细的Spring配置和Spring Boot-外文翻译

    你可以通过实现Spring定义的特定接口,通过反射指定Spring可以调用的方法,或者使用JSR-250的JavaBeans生命周期注解来实现这一点。 2. **使bean“Spring感知”**:有时,你希望bean能够与其配置的...

    spring3.1中文参考文档

    - 介绍了几种实例化bean的方法,如使用构造方法、静态工厂方法和实例工厂方法。 **4.4 依赖** - **4.4.1 依赖注入** - 包括了基于构造方法和基于setter方法的依赖注入。 - 介绍了依赖注入的过程和示例。 - **...

Global site tag (gtag.js) - Google Analytics