美文网首页
由Aware引发的思考

由Aware引发的思考

作者: 撸代码的大白 | 来源:发表于2020-05-20 16:45 被阅读0次

之前文章讲过,我们学习源码的很大原因是学习一些奇技淫巧。Aware就是其中之一。

spring中Aware是个接口,不要求实现任何方法,它的主要作用是做个标记。

Aware有很多子接口,主要的有以下几个:

BeanFactoryAware:setBeanFactory

ApplicationContextAware:setApplicationContext

EnvironmentAware:setEnvironment

BeanNameAware:setBeanName

简单来说,实现什么Aware就能获得对应的资源。

怎么做到的呢,spring通过后置处理器,判断bean实现了哪些aware接口,然后调用其set方法,将需要的资源,设置到属性中去。

所以如果想在业务类里获得容器,可以实现ApplicationContextAware接口;如果想获取bean工厂,可以实现BeanFactoryAware;如果想获得环境变量,可以实现EnvironmentAware;

抛开spring本身。这也给我们的开发提供了一些思路。接口不但可以规定行为是什么,还可以做为标识来用,甚至标识和行为配合来用。

实现这些接口的对象可以被识别出来,进行统一的设置或者预处理。

可以看作一种划分维度,当然从接口的本来功能理解,这些对象都有setxxx的行为,虽然setxxx是需要外界资源给予的,但仍然是其行为。

也可以理解不那么灵活的依赖注入。

相关文章

  • 由Aware引发的思考

    之前文章讲过,我们学习源码的很大原因是学习一些奇技淫巧。Aware就是其中之一。 spring中Aware是个接口...

  • 由文字引发思考

    我是一个平常喜欢随意写点东西的假文艺青年,我喜欢文字,喜欢它的质感。我感觉语言并不能完全展现文字的美,...

  • 由听歌引发的思考

    上课前的几分钟,为了让我的学生们释放一下上节课的疲劳,我习惯提前进到教室,给他们放一首歌,中文或者英文都有。有一次...

  • 由错题引发的思考

    今天给孩子检查作业,他说:“别检查前面的”,觉得有猫腻,便我拿过来看看,吓一跳,前面的好多没做的,再细看惨不忍睹。...

  • 由听歌引发的思考

    在洗澡时,突然熟悉的旋律奏起,那是一首我所喜爱的火影主题曲,《closer》,我脑海中不由自主浮现出卡卡西鸣人佐助...

  • 由PPT引发的思考

    信息化的时代已经全面到来,对于乡村教师来说,这是一次大的变革。以前,有一个人会用电脑,会做精美的PPT时,人们会觉...

  • 由房子引发的思考

    这几天回家,看到到处都在建房子,有点惊讶。因为在我的概念里,在这么小的地方是没那么多人住的,我想不明白为什么大...

  • 由电梯引发的思考

    在我上班的地方,有一个很奇怪的现象: 大家等电梯,不管是上行还是下行,只要电梯来了就会蜂拥而上,完全不考虑电梯的运...

  • 由跳伞引发的思考

    由跳伞引发的思考以前在部队服役,训练科目中有一个“伞降”的高危科目。这个科目让我心慌了好久,也一直在恐惧中度过,如...

  • 由跳伞引发的思考

    由跳伞引发的思考以前在部队服役,训练科目中有一个“伞降”的高危科目。这个科目让我心慌了好久,如果伞在天上不开怎么办...

网友评论

      本文标题:由Aware引发的思考

      本文链接:https://www.haomeiwen.com/subject/zdhnohtx.html