《Spring揭秘》记录

简介: 《Spring揭秘》记录

IOC部分

  1. IOC不等于IOC容器,即使不使用spring,我们也可以使用IOC,只不过spring提供了IOC容器实现。Spring的IoC容器的功能就包含一个提供依赖注入服务的IoC Service Provider。它提供两方面的支持,业务对象的构建管理和业务对象间的依赖绑定。
  2. BeanFactory或者ApplicationContext定义如何访问容器内管理的Bean的方法,BeanDefinitionRegistry接口负责Bean的注册管理。BeanDefinitionReader或者Scanner的实现类负责通过读取配置文件或者注解得到Bean信息。BeanFactory或者ApplicationContext的实现类最终进行实现。
  3. XmlBeanDefinitionReader:负责读取Spring指定格式的XML配置文件并解析,之后将解析后的文件内
    容映射到相应的BeanDefinition,并加载到相应的BeanDefinitionRegistry中(在这里是Default-
    ListableBeanFactory)。这时,整个BeanFactory就可以放给客户端使用了
    AnnotatedBeanDefinitionReader/ClassPathBeanDefinitionScanner:负责注解的扫描,之后将扫描到的内容映射到相应的BeanDefinition,并加载到相应的BeanDefinitionRegistry中(在这里是Default-
    ListableBeanFactory)。这时,整个ApplicationContext就可以放给客户端使用了
  4. 配置类:带有 @Configuration 注解的类,如果这个类带有 @Component | @ComponentScan | @Import | @ImportSource 注解,或者内部存在 @Bean 的方法都算配置类
  5. IOC容器启动阶段,只是准备好了Bean对象对应的BeanDefinition,并且都注册到了相应的BeanDefinitionRegistry,此时,Bean都还没有实例化。

  6. BeanFactory在spring-bean包里,ApplicationContext在spring-context包里。
  7. “spring-beans” 和 “spring-context” 都是 Spring Framework 的一部分,这是一个用于构建应用程序的流行的 Java 框架。
    “spring-beans” 是 Spring Framework 的一个模块,提供了在 Spring 应用程序中定义和管理 bean 的支持。在 Spring 中,“bean” 是由 Spring IoC 容器管理的对象,可以使用构造函数参数、属性值和方法调用等元数据配置。
    而 “spring-context” 则是一个更广泛的模块,提供了 Spring Framework 的核心上下文功能。它包括加载配置文件和管理 bean 的能力,以及许多附加功能,如事件发布和监听、消息源访问和对国际化(i18n)的支持。
    因此,总之,“spring-beans” 是处理管理 bean 的 Spring Framework 的特定部分,而 “spring-context” 则提供了管理 Spring 应用程序上下文的更广泛的功能。
  8. 测是
目录
相关文章
|
缓存 Java 测试技术
Spring Boot 2.7.0 更新说明
Spring Boot 2.7.0 更新说明
1569 0
|
5月前
|
数据采集 监控 Java
Spring Boot日志
Spring Boot日志
29 3
|
XML Java 数据格式
《Spring揭秘》记录
《Spring揭秘》记录
59 0
|
Java 应用服务中间件 Spring
Spring boot 配置访问日志
Spring boot 配置访问日志
Spring boot 配置访问日志
|
SQL 存储 安全
Spring Boot + Querydsl 框架,大大简化复杂查询操作!!
Spring Boot + Querydsl 框架,大大简化复杂查询操作!!
428 0
Spring Boot + Querydsl 框架,大大简化复杂查询操作!!
|
缓存 NoSQL Ubuntu
Spring Boot demo系列 :Redis缓存
目录 Spring Boot demo系列 :Redis缓存 12.2.1 手动添加`@class` 12.2.2 将实体类设置为`open`
564 0
Spring Boot demo系列 :Redis缓存
|
SQL Java 数据库连接
Spring 源码解析 | Spring 事务(二)
上一篇文章中说到了申明事务,本文再说一下编程事务,以及实现实现原理。 注:Spring 6.x
181 0
Spring 源码解析 | Spring 事务(二)
|
存储 SQL Java
Spring 源码解析 | Spring 事务(一)(上)
本文主要讲述 Spring 事务的实现,以及申明式事务 @Transactional 使用案例。
147 0
Spring 源码解析 | Spring 事务(一)(上)
|
XML Java 数据库
Spring的事务配置(八)
Spring的事务配置(八)
139 0
Spring的事务配置(八)
|
算法 Java Spring
学习Spring5必知必会(1)~未使用spring前的麻烦
学习Spring5必知必会(1)~未使用spring前的麻烦
96 0