Spring IoC之高级应用--使bean感知容器

Spring IoC容器实现BEAN整个生命周期的管理,那么一个bean如何感知容器呢。

解决方案

Bean可以实现如下表格的某些“感知”接口来了解Spring IoC容器资源,Spring将通过这些接口中的设置方法将资源注入的bean中。

Spring中的常见感知接口


感知接口目标资源
BeanNameAwareIoc容器中配置实例的Bean名称
BeanFactoryAware当前Bean工厂,通过它可以调用容器的服务
ApplicationContextAware*                                                      当前应用上下文,通过它可以调用容器服务                                                                     
MessageSourceAware消息资源,通过它可以解析文本信息
ApplicationEventPublisherAware引用事件发布者
ResourceLoadAware资源转载器,通过它可以转载外部资源
实际上,ApplicationContext接口扩展MessageSource、ResourceLoader接口,所以你只需知道应用上下文,就可以访问所有这些服务。但是,最佳的做法是选择满足最小作用域的感知接口。

感知接口中的设置方法在bean属性设置之后、初始方法之前调用,说明如下:

(1)构造程序或者工厂方法创建Bean实例

(2)为bean属性设置值和Bean引用

(3)调用感知接口中定义的设值方法

(4)调用初始化回调方法

(5)Bean可以使用

(6)容器关闭,调用析构回调方法

注意:一旦Bean实现感知接口,他们就与Spring绑定,在Spring IoC容器之外无法正常工作。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值