这两个都称为Spring容器,它们都会去加载配置文件。
一、BeanFactory
BeanFactory采取延迟加载,第一次getBean时才会初始化Bean。
二、ApplicationContext
ApplicationContext是对BeanFactory的扩展,提供了更多功能:
1. 国际化处理
2. 事件传递
3. Bean自动装配
4. 各种不同应用层的context实现
三、加载区别
BeanFactory采取延迟加载。初始化Bean,指的是调用UserServiceImpl的空参构造方法。构建factory不调用空参构造函数,只有当调用了getBean后才调用空参构造函数。
ApplicationContext采取即时加载。构建context时,就调用空参构造方法。