• Sping面试题


    Spring相关

    1. BeanFactory和ApplicationContext有什么区别?
      • BeanFactoryApplicationContext是Spring的两大核心接口,都可以当做Spring的容器。
        1. BeanFactory是Spring里面最底层的接口,是IoC的核心,定义了IoC的基本功能,包含了各种Bean的定义、加载、实例化,依赖注入和生命周期管理。ApplicationContext接口作为BeanFactory的子类,除了提供BeanFactory所具有的功能外,还提供了更完整的功能扩展。
        2. BeanFactroy采用的是延迟加载形式来注入Bean的,只有在使用到某个Bean时(调用getBean()),才对该Bean进行加载实例化。这样,我们就不能提前发现一些存在的Spring的配置问题。如果Bean的某一个属性没有注入,BeanFacotry加载后,直至第一次使用调用getBean方法才会抛出异常。
        3. ApplicationContext,它是在容器启动时,一次性创建了所有的Bean。这样,在容器启动时,我们就可以发现Spring中存在的配置错误,这样有利于检查所依赖属性是否注入。
        4. ApplicationContext启动后预载入所有的单实例Bean,所以在运行的时候速度比较快,因为它们已经创建好了。相对于BeanFactory,ApplicationContext 唯一的不足是占用内存空间,当应用程序配置Bean较多时,程序启动较慢。
        5. BeanFactory和ApplicationContext都支持BeanPostProcessor、BeanFactoryPostProcessor的使用,但两者之间的区别是:BeanFactory需要手动注册,而ApplicationContext则是自动注册。
    2. Spring Bean的生命周期?
      • 简单来说,Spring Bean的生命周期只有四个阶段:实例化 Instantiation --> 属性赋值 Populate --> 初始化 Initialization --> 销毁 Destruction
      • 但具体来说,Spring Bean的生
  • 相关阅读:
    扫雷(C语言)
    高逼格,程序员专属音乐播
    vue模板语法上集->插值,指令,过滤器,计算属性&监听属性,vue购物车
    字符串的转换路径问题
    MCU系统的调试技巧
    【设计模式】Java设计模式 - 享元模式
    IDEA中Maven依赖下载失败的解决方法
    conda创建python虚拟环境
    String 在创建时究竟创建了几个对象
    模拟电子技术(五)放大电路中的反馈
  • 原文地址:https://blog.csdn.net/hanlin_zhao/article/details/127986994