java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Spring Aware接口

使用Spring底层组件实现Aware接口

作者:加把劲骑士RideOn

这篇文章主要介绍了使用Spring底层组件实现Aware接口,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

实现Aware接口使用Spring底层组件

Aware接口的实现类

基于@Component,通过Aware的实现类在容器创建之前将Spring底层的信息获取并使用。

例如:

在这里插入图片描述

/**
 * 通过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接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文