![](https://img-blog.csdnimg.cn/20210519091346197.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
spring源码
文章平均质量分 94
大话spring源码
bokerr
临渊羡鱼,不如退而结网。
展开
-
Spring源码之spring事务
spring事务Spring事务事务自定义标签自定义标签解析标签bean 的初始化InfrastructureAdvisorAutoProxyCreator获取增强方法获取所有增强中内适用于当前方法的增强TransactionInterceptor 事务增强的实现创建事务:回滚事务提交 Spring事务 spring声明式事务让我们从复杂的事务处理中得以脱身,我们可以不再去关注获得、关闭连接、事务提交、和回滚操作;简单来说事务可以做到在发生异常时进行回滚。 事务自定义标签 自定义标签 spring事务的开关原创 2021-06-17 23:11:05 · 353 阅读 · 4 评论 -
Spring源码之springMVC
web.xml 它的作用是配置初始化信息,如web页面、servlet、servlet-mapping、filter、listener、启动加载级别等。 SpringMVC 通过servlet拦截所有的URL来达到控制的目的,所以它必须要有web.xml 比较关键的配置是: contextConfigLocation 配置spring配置文件地址 DispatcherServlet 前端控制器 程序入口 ContextLoaderListener.initWebApplicationContex原创 2021-06-09 22:16:31 · 168 阅读 · 2 评论 -
Spring源码之-AOP
Spring源码 - AOP2.必要的准备工作什么是代理模式?3.大话AOP那么AOP 具体是什么呢?实现AOP的方式二、动态AOP自定义标签1、JDK动态代理2、CGLIB 代理三、创建AOP代理1.获取所有增强器2.寻找匹配的增强器3.创建代理四、创建AOP静态代理1.自定义标签2.织入结语 PS * 文中代码均为伪代码,本文基于spring 5.0 ,如有谬误,感谢指正!!! # 一、大话AOP ## 1.AOP的概念 AOP(Aspect Oriented Programming),即面向切原创 2021-05-19 00:07:20 · 371 阅读 · 0 评论 -
Spring源码之容器的功能拓展-ApplicationContext
容器的功能拓展一、解析预备 刷新上下文环境 例如对系统属性或者环境变量进行校验和准备二、初始化 BeanFactory 并进行 Xml 配置文件的读取三、对BeanFactory 各种功能填充四、激活以及注册各种 BeanFactoryPostProcessor 后处理器五、注册后处理器 BeanPostProcessor后续环节 PS * 本文代码基本为伪代码,注释为个人理解,水平有限,如有谬误,感谢指正。 关于spring的容器,除了BeanFactory以及它的默认实现类XmlBeanFactory原创 2021-05-03 23:55:30 · 117 阅读 · 2 评论 -
Spring源码之bean的加载
spring 源码阅读 -- bean 的加载1. FactoryBean 的使用2. 缓存中获取单例 bean;3. 从 bean 实例获取对象,4. 获取单例 bean (从缓存加载失败);5. 创建 bean (createBean)6. 循环依赖7. 创建 bean 本文,入口: <> spring-framework-5.0.x\spring-beans\src\main\java\org\springframework\beans\factory\support\Abstract原创 2021-04-24 23:20:28 · 114 阅读 · 0 评论 -
Spring源码中用到的设计模式
Spring源码中用到的设计模式一、策略模式二、观察者模式三、装饰器模式 一、策略模式 首先讲两个面向对象设计原则: 找出应用中可能需要变化的部分,把他们独立出来,不要和那些不需要变化的代码混在一起。 针对接口编程而不是针对实现编程 多用组合少用继承 让我们描述一个例子,假如我们要设计一系列的哺乳动物类,他们都能跑run()、会say()、外观display();我们可以设计一个抽象类,Animal。 当需要一个Tiger老虎类时,继承Animal,并实现自己的say()(嗷嗷叫);display()原创 2021-03-26 01:25:20 · 826 阅读 · 0 评论