Aware概述
Aware是Spring提供的一个标记超接口,它里面什么也没有,它主要重要就是向我们提供一种资源访问的入口标记而已,在spring中内置了9个Aware抽象。今天我们主要就来了解一下这9个Aware以及他们是如何工作的。
package org.springframework.beans.factory;
public interface Aware {
}
Aware内置接口
|--Aware
|--BeanNameAware
|--BeanClassLoaderAware
|--BeanFactoryAware
|--EnvironmentAware
|--EmbeddedValueResolverAware
|--ResourceLoaderAware
|--ApplicationEventPublisherAware
|--MessageSourceAware
|--ApplicationContextAware
BeanNameAware
BeanNameAware是Spring框架中提供的一个接口,用于让一个Bean在容器中意识到自己的Bean名称。通过实现BeanNameAware接口,一个Bean可以在初始化阶段访问到它被分配的名称。这对于那些需要根据自己在应用程序上下文中的名称执行特定操作的Bean非常有用。
package org.springframework.beans.factory;
public interface BeanNameAware extends Aware {
void setBeanName(String var1);
}
BeanClassLoaderAware
BeanClassLoaderAware是Spring框架中提供的另一个接口。它允许一个Bean意识到用于加载该Bean类的类加载器。通过实现BeanClassLoaderAware接口,一个Bean可以在初始化阶段访问类加载器。这对于需要基于类加载器执行操作的Bean非常有用,比如动态类加载或资源加载。
package org.springframework.beans.factory;
public interface BeanClassLoaderAware extends Aware {
void setBeanClassLoader(ClassLoader var1);
}
BeanFactoryAware
BeanFactoryAware是Spring框架中提供的一个接口。它允许一个Bean意识到创建和管理该Bean的Bean工厂。通过实现BeanFactoryAware接口,一个Bean可以在初始化阶段访问工厂。这对于需要与工厂进行交互的Bean非常有用,例如获取其他Bean或访问配置信息。
package org.springframework.beans.factory;
import org.springframework.beans.BeansException;
public interface BeanFactoryAware extends Aware {
void setBeanFactory(BeanFactory var1) throws BeansException;
}
EnvironmentAware
EnvironmentAware是Spring框架中提供的一个接口。它允许一个Bean意识到它所运行的应用程序环境。通过实现EnvironmentAware接口,一个Bean可以在初始化阶段访问环境。这对于需要访问特定于环境的信息的Bean非常有用,例如属性、配置文件或活动配置文件,以便根据运行时环境自定义它们的行为。
package org.springframework.context;
import org.springframework.beans.factory.Aw