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

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

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

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 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档