企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### BeanFactory ``` 1. Spring框架早期的创建Bean对象的工厂接口 2. 实现BeanFactory接口的工厂也可以获取到Bean对象 3. 通过源码分析, 无论是是BeanFactory还是ApplicationContext,底层都是DefaultListableBeanFactory ``` ### ApplicationContext ``` 1. 实现了BeanFactory接口 2. 实现ApplicationContext接口的工厂,可以获取到容器中具体的Bean对象 ``` ### 区别 创建Bean对象的时机不同 ``` 1. BeanFactory采取延迟加载,第一次getBean时才会初始化Bean(多例) 2. ApplicationContext是加载完applicationContext.xml时,就创建具体的Bean对象的实例(单例) ``` ### 创建BeanFactory(IoC容器)的三种方式 ApplicationContext接口实现类 ``` ClassPathXmlApplicationContext 从类的根路径下加载配置文件 推荐使用这种 ``` ``` FileSystemXmlApplicationContext 它是从磁盘路径上加载配置文件,配置文件可以在磁盘的任意位置 ``` ``` AnnotationConfigApplicationContex 当我们使用注解配置容器对象时,需要使用此类来创建 spring 容器。它用来读取注解 ```