使用Spring底层组件实现Aware接口
更新时间:2023年07月26日 14:37:54 作者:加把劲骑士RideOn
这篇文章主要介绍了使用Spring底层组件实现Aware接口,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
实现Aware接口使用Spring底层组件
Aware接口的实现类
基于@Component
,通过Aware的实现类在容器创建之前将Spring底层的信息获取并使用。
例如:
- 获取应用上下文对象applicationContext的
ApplicationContextAware
- 获取该类的bean对象信息的
BeanNameAware
- 获取该类类加载器classloader的
BeanClassLoaderAware
/** * 通过Aware接口的实现类,获取到Spring底层相关组件 */ @Getter @Component public class AwareComponent implements ApplicationContextAware, BeanNameAware { /** * 通过实现类的构造方法,获取到相应的Spring容器参数 */ private ApplicationContext applicationContext; private String thisBeanName; /** * 可以获得注册的Ioc容器的Context对象 * * @param applicationContext 从ApplicationContextAware获取到的当前bean的名字 * @throws BeansException 获取bean异常 */ @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { this.applicationContext = applicationContext; } /** * 可以获取到当前Bean(AwareComponent)的名字 * * @param name 从BeanNameAware中获取到的当前bean的名字 */ @Override public void setBeanName(String name) { this.thisBeanName = name; } }
使用
AnnotationConfigApplicationContext configContext = new AnnotationConfigApplicationContext(BeanConfiguration.class); // 测试Aware接口的实现类获取Spring的参数 AwareComponent awareComponent = configContext.getBean(AwareComponent.class); System.out.println("This Context: " + configContext); System.out.println("AwareComponent: " + awareComponent.getApplicationContext());
到此这篇关于使用Spring底层组件实现Aware接口的文章就介绍到这了,更多相关Spring Aware接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Spring Boot中application配置文件的生效顺序及应用范围
Spring Boot的一个重要特性就是它的自动配置,这一特性在很大程度上依赖于名称为application的配置文件,本文将详细介绍在Spring Boot中,这些配置文件的加载顺序以及每份文件的应用范围,需要的朋友可以参考下2024-03-03使用SpringBoot 配置Oracle和H2双数据源及问题
这篇文章主要介绍了使用SpringBoot 配置Oracle和H2双数据源及问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-11-11Java使用list集合remove需要注意的事项(使用示例)
List集合的一个特点是它其中的元素是有序的,也就是说元素的下标是根据插入的顺序来的,在删除头部或者中间的一个元素后,后面的元素下标会往前移动,本文给大家介绍Java使用list集合remove需要注意的事项,感兴趣的朋友一起看看吧2022-01-01
最新评论