ApplicationContextAware使用说明

简介: 唯一接口方法作用设置该对象在其中运行的ApplicationContext通常这个调用将被用来初始化对象在普通bean属性的装配之后但在初始回调例如InitializingBean#afterPropertiesSet()或一个自定...
img_9fa610ad49731d1c4f9ed47627418a44.png

唯一接口方法作用

设置该对象在其中运行的ApplicationContext
通常这个调用将被用来初始化对象
在普通bean属性的装配之后但在初始回调例如InitializingBean#afterPropertiesSet()或一个自定义的初始方法之前调用
在链接ResourceLoaderAware#setResourceLoader之后调用

在使用spring整合的项目时,有时候需要获取ApplicationContext中的bean,就需要在spring加载过程中将ApplicationContext注入到工具类当中,在使用时,直接从工具类中获取对应的bean,这样就很方便。
有如下的几种方式:

  1. 直接使用spring的xml配置加载
  2. 在Web应用中,使用Servlet或者Linsener,通过WebApplicationContext将ApplicationContext注入
  3. 实现ApplicationContextAware接口;该方法比较方便,推荐使用该方法;

要运行的ApplicationContext希望被通知的任何对象实现的接口。

实现这个接口是有道理的,例如当一个对象需要访问一个集合的合作bean。
注意,通过bean引用的配置比实现此接口更适合用于bean的查找目的。

如果对象需要访问file资源,即要调用getResource,想要发布应用程序事件,或者需要访问MessageSource,那么也可以实现此接口。但是,在这种特定情况下,最好是实现更具体的ResourceLoaderAware,ApplicationEventPublisherAware或MessageSourceAware接口

请注意,文件资源依赖关系也可以以类型为org.springframework.core.io.Resource的bean属性公开,通过Struts填充,由bean工厂进行自动类型转换。这样就不需要实现任何回调接口,只是为了访问一个特定的文件资源。

在程序当中就可以直接从ApplictionContext中获取对应的bean了。

目录
相关文章
|
8月前
|
数据安全/隐私保护 流计算
可以创建一个自定义的`AssignerWithPeriodicWatermarks`实现类
可以创建一个自定义的`AssignerWithPeriodicWatermarks`实现类
90 2
ServletContext和ServletConfig使用说明
ServletContext和ServletConfig使用说明
58 0
|
2月前
|
前端开发 程序员
常见注解及使用说明
常见注解及使用说明
38 0
常见注解及使用说明
WXM
|
5月前
|
前端开发 程序员
|
8月前
|
Java 程序员 编译器
Java注解概述及解析注解
Java注解概述及解析注解
79 1
|
SQL 存储 Oracle
JPA 概述及常用注解详解、SpringDataJpa 使用指南
JPA 概述及常注解详解、SpringDataJpa 使用指南
7739 2
JPA 概述及常用注解详解、SpringDataJpa 使用指南
|
Java 容器 Spring
CommandLineRunner与ApplicationRunner接口的使用及源码解析
CommandLineRunner与ApplicationRunner接口的使用及源码解析
244 0
CommandLineRunner与ApplicationRunner接口的使用及源码解析
|
容器
ApplicationContextAware接口的实战应用
ApplicationContextAware接口的实战应用
Retrofit 自定义 Adapter 和 Converter + 源码分析
Retrofit 自定义 Adapter 和 Converter + 源码分析
|
消息中间件 运维 Java
Spring源码分析(六)FactoryBean 接口解析
说道FactoryBean,不少人会拿它跟BeanFactory作比较,但是实际上他们没有多大关系;我们简单介绍一下两者 Part1一、BeanFactory和FactoryBean区别 1BeanFactory BeanFactory:这就是一个Factory,是一个IOC容器或者叫对象工厂,它里面存着很多的bean。例如默认的实现方式DefaultListableBeanFactory;我们把IOC容器可以比作一个水桶,IOC容器里面的所有bean就是装的水; ##FactoryBean
Spring源码分析(六)FactoryBean 接口解析