摘要: 1、请求流程入口逻辑分析 在源码(二):MVC容器启动中,SpringMVC遵循Servlet的生命周期,Servlet生命周期主要有三个重要的方法init()、service()、destory()。其中service()是处理客户端请求的方法,查看DispatcherServlet及其父类是否有 阅读全文
posted @ 2023-02-13 19:57 无虑的小猪 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 在源码(二):MVC容器启动的分析中,MVC容器刷新完成后,通过发布事件及事件监听处理器来初始化MVC的九大组件,下面来分析下这九大组件初始化的细节。 概览 初始化MVC组件,DispatcherServlet#initStrategies 核心代码: 1 // 初始化组件 2 protected 阅读全文
posted @ 2023-02-12 20:39 无虑的小猪 阅读(143) 评论(0) 推荐(0) 编辑
摘要: SpringMVC是一个基于Java实现了MVC设计模式的请求驱动类型的轻量级Web框架,SpringMVC是在Spring框架的基础上做的拓展。 一、分析思路 在使用配置文件的方式设置SpringMVC的时候,都会配置web.xml,下面我们看看web.xml内容: <?xml version=" 阅读全文
posted @ 2023-02-10 20:23 无虑的小猪 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 一、创建smvc子模块 子模块选择gradle 二、实体类代码 2.1、User实体 1 public class User { 2 3 private String name; 4 5 public User() { 6 } 7 8 public User(String name) { 9 thi 阅读全文
posted @ 2023-02-08 20:10 无虑的小猪 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 1、事务传播特性 Springs事务传播特性: 名称 解释 REQUIRED 支持当前事务,如果当前没有事务,就新建一个事务。 Spring 默认的事务传播特性 支持外层事务 SUPPORTS 支持当前事务,如果当前没有事务,就以非事务方式执行 MANDATORY 支持当前事务,如果当前没有事务,则 阅读全文
posted @ 2023-01-04 20:35 无虑的小猪 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 一、执行入口 Spring事务是通过AOP实现,在AOP源码(五):具体执行流程 - 责任链模式中提到AOP流程执行入口为CglibAopProxy#DynamicAdvisedInterceptor#intercept,事务的代理对象入口也是如此。 二、执行流程 在事务源码(三):事务相关对象的创 阅读全文
posted @ 2023-01-03 21:01 无虑的小猪 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 事务源码(二)中,已经分析了beanDefinition的加载,下面来创建对应beanDefinition的bean。 1、PropertySourcesPlaceholderConfigurer 创建占位符处理的bean PropertySourcesPlaceholderConfigurer实现 阅读全文
posted @ 2023-01-02 20:49 无虑的小猪 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 在AOP源码(三):创建AOP相关的Bean中,介绍了Spring创建AOP的Advisor、AnnotationAwareAspectJAutoProxyCreator的创建,其中被代理类的代理对象是如何创建的未做说明,下面来看看AOP代理对象的创建。 在IOC容器启动完成,容器一级缓存singl 阅读全文
posted @ 2023-01-02 20:37 无虑的小猪 阅读(574) 评论(0) 推荐(0) 编辑
摘要: 普通bean标签的beanDefinition的解析不再赘述,仅对事务相关的核心beanDefinition的获取做分析。 一、BeanDefinition预览 IOC容器刷新完成后,容器中的BeanDefinition详情如下: Spring中的事务是基于AOP实现的,在实现AOP中有几个核心的对 阅读全文
posted @ 2022-12-31 20:06 无虑的小猪 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 1、新建数据库及表 商品库存表 1 CREATE TABLE `product_stock` ( 2 `goods_id` VARCHAR ( 30 ) NOT NULL, 3 `stock` INT ( 8 ) DEFAULT NULL, 4 PRIMARY KEY ( `goods_id` ) 阅读全文
posted @ 2022-12-30 20:54 无虑的小猪 阅读(97) 评论(0) 推荐(0) 编辑