作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 同事写的代码,我竟丝毫看不懂! 大佬的代码,就像 "赖蛤蟆泡青蛙,张的丑玩的花" :一个类实现了多个接口.继承的类又继承了其他类.接口还可以和接口继承.实现接口的抽象类再由类实现抽象类方法.类A继承的类B实现了类A实现的接口C,等等. 看上去复杂又难懂的代码,却又能一次次满足需求的高效迭代和顺利扩展,而像螺丝钉一样搬砖的你,只是在大佬写的代码里,完成某个接口下的一小块功能…
目录 AOP分析 Advice实现 定义Advice接口 定义前置.后置.环绕和异常增强接口 Pointcut实现 定义PointCut接口 定义正则表达式的实现类:RegExpressionPointcut 定义AspectJ切点表达式的实现类:AspectJExpressionPointcut Aspact实现 定义Advisor接口 定义PointcutAdvisor接口 定义AspectJPointcutAdvisor实现类 Weaving实现 定义观察者接口BeanPostProces…
Spring MVC原理 Spring的MVC框架主要由DispatcherServlet.处理器映射.处理器(控制器).视图解析器.视图组成. 完整的Spring MVC处理 流程如下: SpringMVC接口解释 DispatcherServlet接口: Spring提供的前端控制器,所有的请求都有经过它来统一分发.在DispatcherServlet将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller.…
在我们的日常工作中,经常会用到Spring.Spring Boot.Spring Cloud.Struts.Mybatis.Hibernate等开源框架,有了这些框架的诞生,平时的开发工作量也是变得越来越轻松,我们用 Spring Boot 分分钟可以新建一个Web项目. 记得自己刚开始工作的时候还是在用Servlet写Web项目,自己写数据库连接池,用原生JDBC操作数据库,好了不发散了.回到这篇文章的主题,今天通过手写Spring框架,帮大家深入了解一下Spring的工作机制,文中涉及的代码…
Spring事务基于AOP环绕通知和异常通知 编程事务 声明事务 Spring事务底层使用编程事务+AOP进行包装的   = 声明事务 AOP应用场景:  事务 权限 参数验证 什么是AOP技术 AOP技术应用场景 面向切面编程  解决代码复用问题 AOP编程核心点: 在方法之前或者之后处理事情 AOP底层实现原理:代理设计模式 Spring事务基于AOP的环绕通知 为什么用AOP: 复用 解耦 AOP: 静态代需要生成目标代理对象 动态代理不需要生成目标代理对象 动态代理分为:JDK动态代理 …
视频参考C:\Users\Administrator\Desktop\蚂蚁3期\[www.zxit8.com] 0018-(每特教育&每特学院&蚂蚁课堂)-3期-源码分析-手写Spring注解版本&事务传播行为\0018-(每特教育&每特学院&蚂蚁课堂)-3期-源码分析-手写Spring注解版本&事务传播行为 今天视频要手写一个@Transaction事务注解框架 我们首先来看一个spring 事务的常见配置 <beans xmlns="ht…
1.视频参加C:\Users\Administrator\Desktop\蚂蚁3期\[www.zxit8.com] 0017-(每特教育&每特学院&蚂蚁课堂)-3期-源码分析-手写Spring事务框架\0017-(每特教育&每特学院&蚂蚁课堂)-3期-源码分析-手写Spring事务框架 aop最主要的目的是解决 代码复用问题,例如现在一个controller类中存在1000个方法,我们要统计每个方法的执行时间,如果给每个方法都编写代码,代码就要重复写1000次,使用aop就…
体系结构 Spring 有可能成为所有企业应用程序的一站式服务点,然而,Spring 是模块化的,允许你挑选和选择适用于你的模块,不必要把剩余部分也引入.下面的部分对在 Spring 框架中所有可用的模块给出了详细的介绍. Spring 框架提供约 20 个模块,可以根据应用程序的要求来使用. 核心容器 核心容器由spring-core,spring-beans,spring-context,spring-context-support和spring-expression(SpEL,Spring…
目录 提前实例化单例Bean DI分析 DI的实现 构造参数依赖 一:定义分析 二:定义一个类BeanReference 三:BeanDefinition接口及其实现类 四:DefaultBeanFactory类增加方法 五:构造参数注入实现 六:构造参数依赖测试 循环依赖的处理 属性依赖 一:属性依赖的定义 二:BeanDefinition接口及其实现类 三:DefaultBeanFactory类中实现属性依赖 四:属性依赖测试 上一篇文章中说到,如何手写Spring IOC容器,有了IOC,…
上一篇说到了手写Spring AOP,来进行功能的增强,下面本篇内容主要是手写Spring Config.通过配置的方式来使用Spring 前面内容链接: 我自横刀向天笑,手写Spring IOC容器,快来Look Look! 手写Spring DI依赖注入,嘿,你的益达! 手写Spring AOP,快来瞧一瞧看一看撒! 配置分析 为什么要提供配置的方式呢,之前的内容中我们测试的时候都是通过代码来进行的: GeneralBeanDefinition bd = new GeneralBeanDef…