Spring支持哪些Aware接口?





Spring支持哪些Aware接口?

  • ApplicationContextAware:获取ApplicationContext对象
  • BeanFactoryAware:获取BeanFactory对象
  • BeanNameAware:获取Bean的名称
  • EnvironmentAware:获取Environment对象
  • ResourceLoaderAware:获取ResourceLoader对象
  • ServletContextAware:在Web应用中获取ServletContext对象
  • BeanClassLoaderAware:获取加载当前Bean的ClassLoader对象
    在这里插入图片描述

Aware接口的优点

  • 可以取得Spring容器中的各种对象和资源,如其他Bean、文件资源、环境变量等。
  • 可以管理项目中的共享资源,如数据库连接池、配置属性等。
  • 与Spring容器实现深度集成,可以根据运行环境动态调整Bean的行为。
  • 简单而有效地扩展Spring Bean的功能。

ApplicationContextAware和BeanFactoryAware的区别

这两个的区别不如说是ApplicationContext和BeanFactory的区别。

  • ApplicationContext是BeanFactory的子接口,提供了更多的功能,比如国际化处理、事件传播、Bean自动装配等。
  • ApplicationContext是在BeanFactory的基础上实现的,所以BeanFactory能做的ApplicationContext都能做,但是BeanFactory不能做的ApplicationContext不一定能做。
  • ApplicationContext是在BeanFactory的基础上实现的,所以BeanFactory的性能比ApplicationContext好。
  • ApplicationContext是在BeanFactory的基础上实现的,所以BeanFactory的扩展性比ApplicationContext好。
  • ApplicationContext是在BeanFactory的基础上实现的,所以BeanFactory的轻量级比ApplicationContext好。
  • ApplicationContext是在BeanFactory的基础上实现的,所以BeanFactory的灵活性比ApplicationContext好。






我的Github地址,欢迎大家加入我的开源项目,或者(在我的主页联系我)加入你们的开源项目,点点Github-Stars。

\ 开源项目名称 依赖类型 版本号 描述
1 spring-boot-starter-trie pom 1.0.0-SNAPSHOT 特定需求下查询速度远超开源检索工具,innodb下B+树或者ES中倒排索引无法与之比拟.
2 spring-boot-starter-trie jar 1.0.0-M1 提供了基于SpringCloud的服务节点,可以通过Nacos注册中心进行服务发现,实现了树的动态扩容与缩容,以及服务的动态上下线。
3 Data-Provider pom 1.0.0-SNAPSHOT 提供了多种数据源的查询,以及数据的类型同步,作为一个Jar可以依赖在其他服务上动态的提供数据。

猜你喜欢

转载自blog.csdn.net/jj89929665/article/details/130884285
今日推荐