简介
这三个接口放在一起写,是因为它们是一组的,作用相似。
“Aware”的意思是”感知到的”,那么这三个接口的意思也不难理解:
实现BeanNameAware接口的Bean,在Bean加载的过程中可以获取到该Bean的id
实现ApplicationContextAware接口的Bean,在Bean加载的过程中可以获取到Spring的ApplicationContext,这个尤其重要,ApplicationContext是Spring应用上下文,从ApplicationContext中可以获取包括任意的Bean在内的大量Spring容器内容和信息
实现BeanFactoryAware接口的Bean,在Bean加载的过程中可以获取到加载该Bean的BeanFactory
自定义bean
1 | package com.fuyi.test.aware; |
配置
1 | <?xml version="1.0" encoding="UTF-8"?> |
测试
1 | package com.fuyi.test; |
结果
可见afterPropertiesSet先于Aware执行。
1 | afterPropertiesSet |