前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Spring 源码脉络IOC/DI-感知接口 *Aware

Spring 源码脉络IOC/DI-感知接口 *Aware

作者头像
码农架构
发布2020-10-29 14:46:32
发布2020-10-29 14:46:32
3780
举报
文章被收录于专栏:码农架构码农架构

aware,翻译过来是知道的,已感知的,意识到的,所以这些接口从字面意思应该是能感知到所有Aware前面的含义。

Spring的依赖注入的最大亮点就是你所有的Bean对Spring容器的存在是没有意识的。即你可以将你的容器替换成别的容器,例如Goggle Guice,这时Bean之间的耦合度很低

但是在实际的项目中,我们不可避免的要用到Spring容器本身的功能资源,这时候Bean必须要意识到Spring容器的存在,才能调用Spring所提供的资源,这就是所谓的Spring Aware。其实Spring Aware本来就是Spring设计用来框架内部使用的,若使用了Spring Aware,你的Bean将会和Spring框架耦合

ApplicationContextAware

能获取Application Context调用容器的服务

ApplicationEventPublisherAware

应用事件发布器,可以用来发布事件

BeanClassLoaderAware

能获取加载当前Bean的类加载器

BeanFactoryAware

能获取Bean Factory调用容器的服务

BeanNameAware

能获取当前Bean的名称

EnvironmentAware

能获取当前容器的环境属性信息

MessageSourceAware

能获取国际化文本信息

ResourceLoaderAware

获取资源加载器读取资源文件

ServletConfigAware

能获取到ServletConfig

ServletContextAware

能获取到ServletContext

LoadTimeWeaverAware

定义在加载时间处理类定义的weaver

NotificationPublisherAware

Spring JMX通知发布者

例如:如要获取容器中的某个Bean,可以继承ApplicationContextAware,让这个Bean拥有调用容器服务的能力。

更多精彩推荐?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档