Closed mysterin closed 5 years ago
一般而言, spring 容器管理 bean, bean 只有自己的特性, 但是有时候需要在 bean 中得到容器的相关信息, 那么就要把容器相关信息注入到 bean 才行. 而 spring 就提供了 Aware 这个接口, 只要实现了接口的 bean, 这个 bean 就会在实例化时由 spring 容器自动给它注入相关信息, 不需要认为再主动注入了.
Aware
Aware 接口没有提供任何方法, 而是由它的继承接口来说明希望给 bean 注入的信息, 比如:
void setBeanName(String name);
void setBeanFactory(BeanFactory beanFactory) throws BeansException;
void setApplicationContext(ApplicationContext applicationContext) throws BeansException;
还有其他各种继承 Aware 的接口就不一一列举, 作用可以根据名字推测.
接口意义
一般而言, spring 容器管理 bean, bean 只有自己的特性, 但是有时候需要在 bean 中得到容器的相关信息, 那么就要把容器相关信息注入到 bean 才行. 而 spring 就提供了
Aware
这个接口, 只要实现了接口的 bean, 这个 bean 就会在实例化时由 spring 容器自动给它注入相关信息, 不需要认为再主动注入了.接口继承
Aware
接口没有提供任何方法, 而是由它的继承接口来说明希望给 bean 注入的信息, 比如:void setBeanName(String name);
实现这个接口的 bean 会注入它的名字void setBeanFactory(BeanFactory beanFactory) throws BeansException;
实现这个接口的 bean 会注入工厂容器void setApplicationContext(ApplicationContext applicationContext) throws BeansException;
实现这个接口的 bean 会注入上下文还有其他各种继承
Aware
的接口就不一一列举, 作用可以根据名字推测.