第三章
Spring Aware
Spring的依赖注入的最大亮点就是所有的bean对Spring容器的存在是没有任何意识的,即你可以将你的容器替换成别的容器,如Google Guice,这时Bean之间的耦合度很低。
但是在实际项目中,我们不可避免的要使用到Spring容器本身的功能资源,这个时候就需要Bean必须要意识到Spring容器的存在,只有这样才能够调用Spring所提供的资源,这就是所谓的Spring Aware。但是使用了Spring Aware,我们的Bean就会和Spring框架耦合。
Aware接口的子接口如图所示。
Spring Boot实战读书收获
其中常用的接口和相关作用如下表所示。

接口名称 作用
BeanNameAware 获得到容器中Bean的名称
BeanFactoryAware 获得当前bean factory,这样可以调用容器的服务
ApplicationContextAware 获取当前的application context,,这样可以调用容器的服务
MessageSourceAware 获取message source,这样可以获得文本信息
ApplicationEventPublisherAware 应用事件发不起,可以发布事件
ResourceLoaderAware 获得资源加载器,可以加载外部资源文件。

Spring Aware的目的是为了让Bean获得Spring容器提供的服务,因为ApplicationContext接口集成了MessageSource、ApplicationEventPublisher、ResourceLoader等接口,所以Bean实现ApplicationContextAware接口就可以获得Spring容器的所有服务,但原则上我们还是用到什么接口,就实现什么接口。

相关文章:

  • 2021-12-08
  • 2021-05-26
  • 2021-12-10
  • 2019-02-11
  • 2021-08-20
  • 2022-12-23
  • 2022-12-23
  • 2021-11-29
猜你喜欢
  • 2021-08-17
  • 2022-03-01
  • 2022-12-23
  • 2021-12-22
  • 2021-06-26
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案