0
点赞
收藏
分享

微信扫一扫

Spring源码学习(day04)

求阙者 2022-02-18 阅读 92
spring

单例池

  1. 单例Bean != Spring容器中只有一个该类型的Bean, 同一个类型的Bean可以通过命名不同的 id 来生成相同类型Bean
  2. 单例池 -> ConcurrentHashMap<String , Object> singletonObject -> 用单例池来存放单例Bean

BeanFactory

  1. 顾名思义, BeanFactory就是Bean工厂, 用于生成Bean
  2. 可以注册一个BeanDefinition也可以注册一个对象
  3. 还可以销毁一个Bean, 判断某个Bean是否存在等等

ApplicationContext

  1. ApplicationContext 与 BeanFactory区别
    1. ApplicationContext接口包括了BeanFactory的功能, 在此基础上还有其他的功能拓展, 比如获取环境变量, 国际化, 事件发布, 资源解析等
  2. Spring配置的展现形式
    1. 注解形式

      1. AnnotationConfigApplicationContext
        1. 在这里插入图片描述
    2. XML形式

      1. ClasspathXmlApplicationContext

        1. 在这里插入图片描述
      2. FileSystemXmlApplicationContext

        1. 在这里插入图片描述
      3. 两者区别:

        1. ClasspathXmlApplicationContext会将classpath作为起始路径, FileSystemXmlApplicationContext将项目根目录作为起始路径, 且两者都支持绝对路径
  3. 是否可刷新
    1. 可刷新: ClasspathXmlApplicationContext

      1. 刷新会将当前容器中的bean对象全部销毁, 再重新加载配置文件对容器进行初始化, 生成bean对象, 如果在刷新过程中配置文件发生改变, 改变的部分也会生效
      2. 刷新前后得到的不是同一个对象在这里插入图片描述
    2. 不可刷新: AnnotationConfigApplicationContext

举报

相关推荐

day04

Day04

JS学习打卡Day04

day04作业

day04 【Map】

打卡day04

Javase day04

0 条评论