Spring中的aware接口
Spring框架提供了多个*Aware接口,用于辅助Spring Bean以编程的方式调用Spring容器。
通过实现这些接口,可以增强Spring Bean的功能,但是也会造成对Spring容器的绑定。
ApplicationContextAware
Spring框架启动时,ApplicationContext初始化实现了该接口的Spring Bean时,会将ApplicationContext的引用作为参数传递给创建的Bean实例,创建的Bean实例可以通过ApplicationContext的引用操作Spring框架的各种资源。
ApplicationEventPublisherAware
应用事件发布器,用于发布事件
BeanClassLoaderAware
加载Spring Bean的类加载器
BeanFactoryAware
获得当前bean Factory,从而调用容器的服务
BootstrapContextAware
资源适配器BootstrapContext,如JCA,CCI
BeanNameAware
获得到容器中Bean的名称
EmbeddedValueResolverAware
通过 EmbeddedValueResolverAware 接口可以获取spring容器加载的一些属性值。
EnvironmentAware
获取Environment对象。Environment是Spring的核心组件之一,可以理解为ApplicationContext的运行时环境,从中我们可以获取操作系统信息、配置文件(application.properties等)中定义的属性信息等。
ImportAware
可以获取到导入该配置类接口的数据配置,是需要与@Import一起使用的。
LoadTimeWeaverAware
加载Spring Bean时织入第三方模块,如AspectJ
MessageSourceAware
得到message source从而得到文本信息
NotificationPublisherAware
JMX通知
ResourceLoaderAware
获取资源加载器,可以获得外部资源文件
ServletConfigAware
获取ServletConfig
ServletContextAware
获取ServletContext