
Spring源码深度解析总结系列
QQsilhonette
这个作者很懒,什么都没留下…
展开
-
Spring源码深度解析-第10章《事务》总结
1、事务自定义标签1)注册InfrastructureAdvisorAutoProxyCreator;2)获取对应class/method的增强器:寻找候选增强器->候选增强器中寻找匹配项;3)提取事务标签。2、声明式的事务处理步骤1)获取事务的属性;2)加载配置中配置的TransactionManager;3)不同的事务处理方式使用不同的逻辑;4)在目标方法...原创 2020-01-13 10:06:26 · 183 阅读 · 0 评论 -
Spring源码深度解析-第9章《整合MyBatis》总结
1、MyBatis独立使用配置文件基本结构 configuration:根元素; properties:定义配置外在化; settings:一些全局性的配置; typeAliases:为一些类定义别名; typeHandlers:定义类型处理,也就是定义Java类型与数据库中的数据类型之间的转换关系; objectFactory:用于指定...原创 2019-12-26 09:35:20 · 160 阅读 · 0 评论 -
Spring源码深度解析-第8章《数据库连接JDBC》总结
1、JDBC连接数据库的流程及其原理:1)在开发环境中加载指定数据库的驱动程序;2)在Java程序中加载驱动程序;3)创建数据连接对象;4)创建Statement对象;5)调用Statement对象的相关方法执行相对应的SQL语句;6)关闭数据库连接。2、save/update功能的实现基础方法executeexecute方法中对常用操作进行了封装,包括了如下几项...原创 2019-12-25 09:30:10 · 176 阅读 · 0 评论 -
Spring源码深度解析-第7章《AOP》总结
1、动态AOP自定义标签:我们可以得知,在解析配置文件的时候,一旦遇到aspectj-autoproxy注解就会使用解析器AspectJAutoProxyBeanDefinitionParser进行解析,其中registerAspectJAnnotationAutoProxyCreatorIfNecessary方法中主要完成了3件事情:1)注册或者升级AnnotationAwareAspe...原创 2019-12-18 09:53:43 · 191 阅读 · 0 评论 -
Spring源码深度解析-第6章《容器的功能扩展》总结
1、ClassPathXMLApplicationContext初始化的步骤1)初始化前的准备工作,例如对系统属性或者环境变量进行准备及验证;2)初始化BeanFactory,并进行XML文件读取;3)对beanFactory进行各种功能填充;4)子类覆盖方法做额外的处理;5)激活各种BeanFactory处理器;6)注册拦截bean创建的bean处理器;7)为上下文初...原创 2019-12-04 10:04:27 · 162 阅读 · 0 评论 -
Spring源码深度解析-第5章《bean的加载》总结
1、bean的加载步骤1)转换对应的beanName:去除FactoryBean的修饰符,取指定alias所表示的最终beanName;2)尝试从缓存中加载单例:创建单例bean的时候会存在依赖注入的情况,而在创建依赖的时候为了避免循环依赖,在Spring中创建bean的原则是不等bean创建完成就会将bean的ObjectFactory提早曝光加入到缓存中,一旦下一个bean创建的时候需...原创 2019-11-22 21:29:29 · 241 阅读 · 0 评论 -
Spring源码深度解析-第4章《自定义标签的解析》总结
1、自定义标签使用步骤:1)创建一个需要扩展的组件;2)定义一个XSD文件描述组件内容;3)创建一个文件,实现BeanDefinitionParser接口,用来解析XSD文件中的定义和组件定义;4)创建一个Handler文件,扩展子NamespaceHandlerSupport,目的是将组件注册到Spring容器;5)编写Spring.handlers和Spring.sch...原创 2019-11-18 10:41:48 · 159 阅读 · 0 评论 -
Spring源码深度解析-第3章《默认标签的解析》总结
1、默认标签一共有4种:import、alias、bean和beans。2、bean标签的解析及注册大致的逻辑:1)首先委托BeanDefinitionDelegate类的parseBeanDefinitionElement方法进行元素解析,返回BeanDefinitionHolder类型的实例bdHolder,bdHolder实例已经包含了我们配置文件中配置的各种属性;2)当返回的...原创 2019-11-16 21:39:54 · 161 阅读 · 0 评论 -
Spring源码深度解析-第2章《容器的基本实现》总结
1、Spring中的两个核心类DefaultListableBeanFactory:DefaultListableBeanFactory是整个bean加载的核心部分,是Spring注册及加载bean的默认实现。XmlBeanFactory继承自DefaultListableBeanFactory,XmlBeanFactory使用了自定义的XML读取器XmlBeanDefinitionReade...原创 2019-11-16 20:38:44 · 155 阅读 · 0 评论 -
Spring源码深度解析-第1章《Spring整体架构和环境》总结
1、Spring的整体架构:Core Container包含Core、Beans、Context和Expression Language模块。Core:Core模块主要包含Spring框架基本的核心工具类;Beans:Beans模块包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关...原创 2019-11-11 22:45:00 · 175 阅读 · 0 评论