Spring框架提供了多个*Aware接口,用于辅助Spring Bean以编程的方式调用Spring容器。

通过实现这些接口,可以增强Spring Bean的功能,但是也会造成对Spring容器的绑定。

  • org.springframework.context.ApplicationContextAware接口

Spring框架启动时,ApplicationContext初始化实现了该接口的Spring Bean时,会将ApplicationContext的引用作为参数传递给创建的Bean实例,创建的Bean实例可以通过ApplicationContext的引用操作Spring框架的各种资源。

作用与@Autowired标注类似。

  • LoadTimeWeaverAware,加载Spring Bean时织入第三方模块,如AspectJ
  • BeanClassLoaderAware,加载Spring Bean的类加载器
  • BootstrapContextAware,资源适配器BootstrapContext,如JCA,CCI
  • ResourceLoaderAware,底层访问资源的加载器
  • BeanFactoryAware,声明BeanFactory
  • PortletConfigAware,PortletConfig
  • PortletContextAware,PortletContext
  • ServletConfigAware,ServletConfig
  • ServletContextAware,ServletContext
  • MessageSourceAware,国际化
  • ApplicationEventPublisherAware,应用事件
  • NotificationPublisherAware,JMX通知
  • org.springframework.beans.factory.BeanNameAware,声明Spring Bean的名字

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐