继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

ApplicationContextAware使用说明

炎炎设计
关注TA
已关注
手记 175
粉丝 74
获赞 370

https://img1.mukewang.com/5bd6d78d000178e709650247.jpg

唯一接口方法作用

设置该对象在其中运行的ApplicationContext
通常这个调用将被用来初始化对象
在普通bean属性的装配之后但在初始回调例如InitializingBean#afterPropertiesSet()或一个自定义的初始方法之前调用
在链接ResourceLoaderAware#setResourceLoader之后调用

在使用spring整合的项目时,有时候需要获取ApplicationContext中的bean,就需要在spring加载过程中将ApplicationContext注入到工具类当中,在使用时,直接从工具类中获取对应的bean,这样就很方便。
有如下的几种方式:

  1. 直接使用spring的xml配置加载

  2. 在Web应用中,使用Servlet或者Linsener,通过WebApplicationContext将ApplicationContext注入

  3. 实现ApplicationContextAware接口;该方法比较方便,推荐使用该方法;

要运行的ApplicationContext希望被通知的任何对象实现的接口。

实现这个接口是有道理的,例如当一个对象需要访问一个集合的合作bean。
注意,通过bean引用的配置比实现此接口更适合用于bean的查找目的。

如果对象需要访问file资源,即要调用getResource,想要发布应用程序事件,或者需要访问MessageSource,那么也可以实现此接口。但是,在这种特定情况下,最好是实现更具体的ResourceLoaderAware,ApplicationEventPublisherAware或MessageSourceAware接口

请注意,文件资源依赖关系也可以以类型为org.springframework.core.io.Resource的bean属性公开,通过Struts填充,由bean工厂进行自动类型转换。这样就不需要实现任何回调接口,只是为了访问一个特定的文件资源。

在程序当中就可以直接从ApplictionContext中获取对应的bean了。



作者:芥末无疆sss
链接:https://www.jianshu.com/p/5a8723d66ea4
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP