Spring扩展点之Aware接口族
引言 Spring中提供了各种Aware接口,方便从上下文中获取当前的运行环境,比较常见的几个子接口有:BeanFactoryAware,BeanNameAware,ApplicationContextAware,EnvironmentAware,BeanClassLoaderAware等,这些Aware的作用都可以从命名得知 Aware 处理 其中 BeanNameAware 、 BeanClassLoaderAware 和 BeanFactoryAware 这三个是直接在bean的初始化之前就处理了的,具体代码在 AbstractAutowireCapableBeanFactory.initializeBean 方法中: protected Object initializeBean(String beanName, Object bean, RootBeanDefinition mbd) { // 判断对象实现的接口类型,处理特定的三种接口类型:BeanNameAware、BeanClassLoaderAware和BeanFactoryAware。 if (bean instanceof BeanNameAware) { ((BeanNameAware) bean).setBeanName(beanName); } if (bean instanceof