Aware,这是一个空接口,空接口又称标记接口。标记接口的作用是实现该接口的类都被标记具有某项功能。
一个超级标记接口,指示一个Bean有资格通过回调式方法被Spring容器通知某个特定框架对象。具体的方法签名由各个子接口确定,但通常应该只包含一个接受单个参数且返回void的方法。
Aware 的子接口,每个过一遍。
1、ApplicationContextAware 接口中有一个方法
void setApplicationContext(ApplicationContext applicationContext)
实现该接口的 Bean 可以在初始化时获取到 ApplicationContext 对象,从而可以与 Spring 容器进行交互,例如获取其他 Bean、访问环境变量、注册监听器等。
2、BeanFactoryAware 接口中有一个方法:
void setBeanFactory(BeanFactory beanFactory)
实现该接口的 Bean 可以在初始化时获取到 BeanFactory 对象,从而可以与 Spring 容器进行交互,例如获取其他 Bean、访问环境变量、注册监听器等。和上面的 ApplicationContextAware 作用一样。
3、ApplicationEventPublisherAware 接口中有一个方法:
void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher)
实现该接口的 Bean 可以在初始化时获取到 applicationEventPublisher