Spring中的aware接口&原理分析

Spring中有很多继承于aware中的接口,这些接口到底是做什么用到的。

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

从spring源码来分析,的话,实现了这些接口的实例,能获取到系统中的一些属性。
比如实现了BeanNameAware 的对象,能拿到bean在系统中的名字,
比如实现了ApplicationContextAware的对象,能拿到整个ApplicationContext上下文的引用。
我们看下原码。

//填充bean,包括各种属性,这些属性就包括对于别的bean的依赖,这种依赖会引起递归初始化bean
populateBean(beanName, mbd, instanceWrapper);
//调用注入类的init-method方法
exposedObject = initializeBean(beanName, exposedObject, mbd);

exposedObject = initializeBean(beanName, exposedObject, mbd);这句代码是调用init方法的。进去之后 

 很明显这里bean就拿到了spring的内部一些属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值