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);
}
}
|
分享到:
相关推荐
`ApplicationContextAware`是其中的一个典型接口,当我们想要在非托管类(即非Spring Bean)中获取Spring容器中的其他Bean时,可以使用这个接口。 `ApplicationContextAware`接口提供了`setApplicationContext`方法...
在 Spring Aware 标记接口使用案例解析中,我们可以看到一个简单的示例代码,演示了如何使用 ApplicationContextAware 接口来获取到ApplicationContext 对象。首先,我们定义了一个 SpringAware 类,该类实现了 ...
在Spring框架中,回调接口是实现特定功能的关键组件,它们允许受管理的Bean与Spring容器进行交互,并在Bean生命周期的不同阶段执行自定义操作。以下是一些主要的回调接口及其详细说明: 1. **BeanClassLoaderAware*...
在Spring编程中,经常需要根据bean的名称来获取相应的bean对象,这时候,可以通过实现BeanFactoryAware和ApplicationContextAware接口来满足需求。 一、实现BeanFactoryAware接口 BeanFactoryAware接口是Spring...
你可以通过实现ApplicationContextAware接口,或者直接在代码中创建ApplicationContext实例来访问bean。 5. **非Spring管理类调用bean**: 在非Spring管理的类中,如果你想使用Spring容器中的bean,有以下几种方式...
在这个实现方法中,我们可以使用spring框架提供的依赖注入机制来将spring容器中的对象注入到普通对象中,从而实现对spring容器中的对象的使用。 实现方法的主要思想是使用spring框架提供的ApplicationContextAware...
本文将深入探讨几种常见的获取Spring容器的方法,包括使用`ApplicationContext`、通过`ServletContext`、利用`ApplicationObjectSupport`、`WebApplicationObjectSupport`以及实现`ApplicationContextAware`接口等。...
10. **Aware接口**:Spring提供了一系列的Aware接口,如BeanNameAware、BeanFactoryAware和ApplicationContextAware,这些接口使得Bean可以在运行时获取自身的一些信息,例如Bean的名字、所处的Bean工厂或...
1. **理解ApplicationContextAware接口**:当一个Bean实现了ApplicationContextAware接口,Spring容器会在Bean初始化后,自动将ApplicationContext对象注入到Bean中,使得Bean可以获取到上下文中的其他Bean。...
这通常可以通过实现Spring的ApplicationContextAware接口来实现,这样可以在Netty的启动过程中获取到Spring的ApplicationContext,从而获取到需要的服务实例,例如MySQL的连接池。 在具体实现中,可以创建一个...
总的来说,获取非Spring管理组件中的SpringBean主要有两种方式:一是通过实现`ApplicationContextAware`接口并存储ApplicationContext,二是使用注解和静态内部类来注入BeanFactory。这两种方法都是Spring框架提供的...
线程中的操作往往涉及到多线程环境下的资源共享和管理,因此,如何在线程中正确地获取并使用Spring通过注解注入的对象,是一个常见的问题。本文将详细探讨这个主题。 首先,Spring的注解主要分为三类:配置注解(如...
- 将Struts 2的Action与Spring的Bean关联,通常通过实现Spring的ApplicationContextAware接口。 - 使用Spring的JdbcTemplate或Hibernate的Session进行数据库操作。 6. 测试与调试: 在整合完成后,可以通过单元...
在开发中,Spring提供的各种工具如`BeanPostProcessor`、`InstantiationAwareBeanPostProcessor`等接口,允许我们自定义Bean的创建和初始化过程,进一步扩展Spring的功能。 总结来说,Spring提供多种方式让我们在...
- 介绍了如何管理和配置Spring应用程序中的依赖关系,以及推荐的命名约定。 - **1.2.3.2 Logging 日志** - 描述了如何配置和使用日志框架与Spring一起工作。 #### 二、核心技术 ##### 3.1 Spring IoC容器和bean...
2. **XxxAware接口**:如ApplicationContextAware和BeanFactoryAware,可以让我们获取到ApplicationContext或BeanFactory,从而在Bean中直接访问到整个应用上下文或Bean工厂,进行更深入的定制。 3. **@Autowired...
在Spring 3.0之前,初始化主要通过实现InitializingBean接口的afterPropertiesSet方法或在XML配置文件中指定init-method属性来完成。从Spring 3.0开始,推荐使用Java配置类中的@Bean注解来指定初始化方法。 4. 销毁...
你可以通过实现Spring定义的特定接口,通过反射指定Spring可以调用的方法,或者使用JSR-250的JavaBeans生命周期注解来实现这一点。 2. **使bean“Spring感知”**:有时,你希望bean能够与其配置的...