Spring Aware

Posted 穆道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Aware相关的知识,希望对你有一定的参考价值。

  Spring的依赖注入的最大亮点就是所有的Bean对Spring容器的存在是没有意识的。即可以将容器替换成别的容器,如GoogleGuice,这时Bean之间的耦合度很低。

  但是在实际项目中,不可避免地要用到Spring容器本身的功能资源,这时的Bean必须要意识到Spring容器的存在,才能调用Spring所提供的资源,这就是所谓的Spring Aware。其实Spring Aware本来就是Spring设计用来框架内部使用的,若使用了Spring Aware,会将Bean和Spring耦合

Spring提供的Aware接口
BeanNameAware 获得到容器中Bean的名称
BeanFactoryAware 获得当前bean factory,这样可以调用容器的服务
ApplicationContextAware* 当前的application context,这样可以调用容器的服务
MessageSourceAware 获得message source,这样可以获得文本信息
ApplicationEventPublisherAware 应用实践发布器,可以发布事件,DemoPublisher也可以实现这个接口来发布事件
ResourceLoaderAware 获得资源加载器,可以获得外部资源文件

  Spring Aware的目的是为了让Bean获得Spring容器的服务。因为ApplicationContext接口集成了MessageSource接口、ApplicationEventPublisher接口和ResourceLoader接口,所以Bean继承ApplicationContextAware可以获得Spring容器的所有服务,但原则上还是用到什么接口就使用什么接口。

以上是关于Spring Aware的主要内容,如果未能解决你的问题,请参考以下文章

Spring全家桶笔记:Spring+Spring Boot+Spring Cloud+Spring MVC

学习笔记——Spring简介;Spring搭建步骤;Spring的特性;Spring中getBean三种方式;Spring中的标签

Spring--Spring入门

Spring框架--Spring事务管理和Spring事务传播行为

Spring框架--Spring事务管理和Spring事务传播行为

Spring框架--Spring JDBC