ApplicationContext
根据github 项目学习:tiny-spring,地址:https://github.com/code4craft/tiny-spring
参考博客链接:https://blog.csdn.net/w8253497062015/article/details/90274387
区别
装载bean的区别:
-
BeanFactory:BeanFactory在启动的时候不会去实例化Bean,中有从容器中拿Bean的时候才会去实例化;
-
ApplicationContext:ApplicationContext在启动的时候就把所有的Bean全部实例化了。它还可以为Bean配置lazy-init=true来让Bean延迟实例化;
因此,如果 Bean 的某一个属性没有注入,则使用 BeanFacotry 加载后,在第一次调用 getBean( ) 方法时会抛出异常,而 ApplicationContext 则在初始化时自检,这样有利于检查所依赖的属性是否注入。
ClassPathXmlApplicationContext
public class ClassPathXmlApplicationCo