Spring系列之-Aware系列接口

     Aware是一个空接口,其目的是标明一些列接口,这些接口主要用于获取一些上下文的实现。从Spring文档中可以看到,目前一Aware结尾的接口主要有下列接口:ApplicationContextAwareApplicationEventPublisherAwareBeanClassLoaderAwareBeanFactoryAwareBeanNameAwareBootstrapContextAwareEmbeddedValueResolverAwareEnvironmentAwareImportAwareLoadTimeWeaverAwareMessageSourceAwareNotificationPublisherAwareResourceLoaderAwareSchedulerContextAwareServletConfigAwareServletContextAware

     下面将对这些接口具体功能及其实现原理做简要分析:

功能介绍:

1.ApplicationContextAware

实现ApplicationContextAware接口的Bean可以获得Spring上下文信息ApplicationContext,ApplicationContextAware接口内部只有一个方法:

void setApplicationContext(ApplicationContext applicationContext) throws BeansException;

该方法会在Spring容器加载完后被调用,用户只要实现这个接口就能拿到Spring上下文信息。

2.ApplicationEventPublisherAware

   该接口主要用于发布一些事件时使用,接口方法如下:

void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher);

实现该接口能获取到ApplicationEventPublisher,这个接口具备发布事件功能。

3.BeanClassLoaderAware

该接口可以获取到加载当前类的类加载器,

void setBeanClassLoader(ClassLoader classLoader);

4.BeanFactoryAware

这个节课很简单,主要哪个用于获取BeanFactory接口。

5.BeanNameAware

实现该接口的Bean能够获取在Spring IOC中bean的名字。

6.BootstrapContextAware

拿到BootstrapContext信息,BootstrapContext暂时不清楚用来干啥,官方解释为:

这提供了一种机制,通过引导环境资源适配器实例时,它是引导。那是,当(开始(bootstrapcontext))在resourceadapter类的方法调用。引导上下文包含对资源适配器实例可用的有用设施的引用。

7.EmbeddedValueResolverAware

实现该接口可以获取Spring加载properties文件的属性值,

void setEmbeddedValueResolver(StringValueResolver resolver);

通常是用于一些编程是获取配置信息,常用于工具类中。

8.EnvironmentAware

void setEnvironment(Environment environment);

实现该接口可以获取到系统的环境变量信息。

9.ImportAware

10.LoadTimeWeaverAware

加载Spring Bean时织入第三方模块,如AspectJ

11.MessageSourceAware

主要用于获取国际化相关接口

12.NotificationPublisherAware

用于获取通知发布者

13.ResourceLoaderAware

初始化时注入ResourceLoader

14.SchedulerContextAware

配合Quartz使用,获取Quartz调度上下文

15.ServletConfigAwareServletContextAware

web开发过程中获取ServletConfigServletContext信息。

 

转载于:https://my.oschina.net/wenbo123/blog/1610166

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值