1 BeanFactory和ApplicationContext有什么区别
相同:
- Spring提供了两种不同的容器,一个是BeanFactory,另一个是ApplicationContext,它们都是接口,ApplicationContext是BeanFactory的子接口
- 它们都可以用XML的方式进行相关的配置,也支持属性的自动注入
- 它们都提供了一个getBean()的方式来获取Bean对象
不同:
- 当调用getBean()方法时,BeanFactory仅实例化对象,而ApplicationContext是在启动容器时实例化单例Bean,不会等到调用getBean()方法。
- BeanFactory和ApplicationContext一个支持监听器,一个不支持监听器
- BeanFactory的一个核心实现时XMLBeanFactory,而ApplicationContext的核心实现是ClassPathXMLApplicationContext
- 如果使用自动注入,则BeanFactory需要使用API注册AutoWiredB