Spring Aware总结
创始人
2024-05-29 01:11:53
0

概述

Spring中Aware到底是什么意思?

我们在看Spring源码的时候,经常可以看到xxxAwarexxx的身影,通常我会很疑惑,Aware到底是什么意思呢?
比如图片中这些包含Aware关键字的类或者接口。
在这里插入图片描述
我对下面3个类或接口进行了解释,来体会下aware的含义。
ApplicationContextAwareProcessor:可识别应用上下文的处理器。
BeanFactoryAware:实现BeanFactoryAware接口的Bean希望意识到BeanFactory。
EnvironmentAware:任何实现了EnvironmentAware接口的bean希望去被通知当Environment运行的时候。
aware本身的意思是“知道的,明白的;察觉到的,意识到的;有……意识的,有……知识的”,结合上面的类型或接口的解释,个人认为spring中aware的意思是“可识别的,可意识的”。
因此再碰到包含Aware关键字的接口或类时,我们可以把它理解成,这个类或实现了该接口的bean都是可以识别xxx的。
那问题来了,识别什么呢?个人认为, 应该是可以识别Aware形容的组件。
比如ApplicationContextAwareProcessor是指可识别应用上下文的处理器。
BeanFactoryAware是指可以被识别的beanFactory,因此所有实现了BeanFactoryAware的bean都是能够识别BeanFactory,就是可以识别BeanFactory的bean。

Aware的作用

Spring 的依赖注入最大亮点就是所有的Bean对Spring容器的存在是没有意识的(感知不到Spring容器的存在)。
在实际项目中,我们不可避免的要用到Spring容器本身提供的资源,这时候要让Bean主动意识到Spring容器的存在,才能调用Spring所提供的资源,这就是Spring Aware。其实 Spring Aware是被Spring设计为框架内部使用的,若使用了,你的 Bean将会和Spring框架耦合,所以自己不单独使用。
通常使用 Spring Aware的目的是为了让 Bean获得Spring容器的服务。
在大多数情况下,我们应该避免使用任何 Aware 接口,除非我们需要它们。实现这些接口会将代码耦合到Spring框架,但是希望看过本博客内容之后阅读框架源码不再迷惑。

Aware使用示例

下面是一个实现BeanFactoryAware、ApplicationContextAware接口,获取BeanFactory、ApplicationContext的示例。

public class Person implements BeanFactoryAware, ApplicationContextAware {private int id;private ApplicationContext applicationContext;private BeanFactory beanFactory;public int getId() {return id;}public void setId(int id) {this.id = id;}public ApplicationContext getApplicationContext() {return applicationContext;}public void setApplicationContext(ApplicationContext applicationContext) {this.applicationContext = applicationContext;}public BeanFactory getBeanFactory() {return beanFactory;}public void setBeanFactory(BeanFactory beanFactory) {this.beanFactory = beanFactory;}
}

参考

Spring Aware 到底是什么?

相关内容

热门资讯

清华大学投档时承认高考加分 ... 清华大学投档时承认高考加分 选专业不承认 篇一清华大学作为中国著名的高等学府,一直以来都以严谨的招生...
上海高考满分语文作文(最新3... 上海高考满分语文作文 篇一《艺术的力量》艺术是人类情感和思想的表达,它拥有无穷的力量。在我们的生活中...
江苏高考满分作文【优质6篇】 江苏高考满分作文 篇一:努力拼搏,实现梦想作文题目:努力拼搏,实现梦想正文:每当我回忆起高考的那段日...
最新语文高考作文素材积累(最... 最新语文高考作文素材积累 篇一人工智能与人类关系的思考近年来,随着人工智能的快速发展,它在各个领域的...
高考满分作文:仰望星空与脚踏... 高考满分作文:仰望星空与脚踏实地 篇一仰望星空,追逐梦想,是每个人的心愿。无论是年轻的少年还是成熟的...
高考作文传承与创新【精选6篇... 高考作文传承与创新 篇一传承与创新是高考作文中的两个重要方面。传承是指在写作中继承传统文化的精髓和思...
高考满分作文:在“万方乐奏”... 高考满分作文:在“万方乐奏”中寻找“中国味” 篇一随着全球化的进程,越来越多的外来文化涌入中国,我们...
高考语文作文范文打印(推荐6... 高考语文作文范文打印 篇一人与自然的和谐共生人类与自然是紧密相连的,人类的生存与发展离不开自然的滋养...
高考满分作文:落花人独立(优... 高考满分作文:落花人独立 篇一落花人独立落花人独立,飘零自在。这句诗句出自唐代诗人李清照的《如梦令》...
高考作文题目:理想(精彩6篇... 高考作文题目:理想 篇一理想是人生的驱动力理想是人生道路上的指南针,是我们前行的动力和目标。每个人都...
高考英语作文万能句子【经典3... 高考英语作文万能句子 篇一How to Balance Study and Leisure Time...
2006年全国卷Ⅰ高考满分作... 2006年全国卷Ⅰ高考满分作文:在追求中认清自我价值篇一:追求梦想,实现自我价值追求是人生的动力,也...
祭奠高考(实用3篇) 祭奠高考 篇一高考,是中国教育体制中的一座丰碑,是每个年轻人人生道路上的一次重要里程碑。它不仅代表着...
江苏高考满分作文【优秀6篇】 江苏高考满分作文 篇一:努力奋斗,追逐梦想高考,是每个学子人生中的一次重要考验。对于我来说,这是一次...
备战高考作文材料范文【优质6... 备战高考作文材料范文 篇一标题:高三备战高考,努力拼搏,追求卓越高三备战高考是每个学生的重要任务,而...
高考满分作文:科学之痛(实用... 高考满分作文:科学之痛 篇一科学之痛科学是一把双刃剑,带给人类无尽的福祉的同时,也带来了一些痛苦。科...
高考语文作文写作大全范文24... 高考语文作文写作大全范文24篇 篇一:《青春之梦》青春是一段美好而又短暂的时光,它是我们追逐梦想的时...
2021年全国新高考Ⅰ卷高考... 2021年全国新高考Ⅰ卷高考优秀作文 篇一标题:探索创新:培养学生的实践能力随着社会的不断发展和进步...
高考热点素材:网络暴力(精彩... 高考热点素材:网络暴力 篇一网络暴力是一种通过网络平台进行的攻击、侮辱、威胁等恶意行为。随着互联网的...
高考作文有哪些素材(实用6篇... 高考作文有哪些素材 篇一高考作文是每个考生都要面对的一项任务,其中素材的选择对于作文的质量至关重要。...