1、缓存bean是为了可能会有循环引用的情况?
2、业务逻辑处理采用AOP思想
preHandler
handler
postHandler
3、单例缓存
private final Map<String, Object> singletonObjects = new ConcurrentHashMap<String, Object>(256); // 单例实例缓存
4、连续两次获取Bean,看是否会走缓存
5、BeanFactory(DefaultListableBeanFactory)中包含了所有Bean定义信息
private final Map<String, BeanDefinition> beanDefinitionMap = new ConcurrentHashMap<String, BeanDefinition>(256);
6、如何创建Bean?
通过BeanDefinition——>MergedBeanDefinition
为什么需要Merge?考虑到当前Bean可能是其它Bean的children
7、如何实例化Bean?
通过ObjectFactory
//
Bean的使用范围?
Singleton VS prototype
Bean的生命周期?
create—>constructor—>init—>@PostConstruc—>.....—>@PreDestroy—>destroy—>death
Bean的种类?
Default Bean VS FactoryBean