上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 47 下一页
摘要: 1 前言 这节我们就来看看事务的加载过程,前置知识是大家可以先看看我之前写的SpringBoot的自动装配过程哈。因为事务在SpringBoot中,是通过自动装配作为入口点,然后转换为加载AOP的执行流程。 2 加载过程 SpringBoot启动会扫描spring.factories文件,加载所有需 阅读全文
posted @ 2023-05-12 14:56 酷酷- 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 1 前言 本节我们开始来看看 Spring 事务哈,大家看之前首先要看过 IOC、AOP、甚至代理哈,如果这些你不知道原理,你看任何东西都会很费劲,比如Bean的生命周期、AOP的切入时机、什么时候创建代理以及执行时机,这些不知道的话,你就看事务的话,会很懵,当然前提是大家是带着思考看的哈,单纯看不 阅读全文
posted @ 2023-05-12 10:45 酷酷- 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 1 前言 Java8 出来的 stream 写法让我们对数据的处理带来了一些写法上的增进,这节就简单记录下平时使用的 stream 的一些操作,关于 stream 的书籍,可以看一下 Java8实战,里边会有两三章讲解我们的 stream。 2 常用记录 // 根据单个属性或者多个属性去重 比如根据 阅读全文
posted @ 2023-05-11 11:03 酷酷- 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 1 前言 我们都知道 SpringBoot 有个自动装配的机制,那你们知道平时如何使用么,以及他是什么时候执行的么,那么本节我们就来看看。 2 为什么要有自动装配 我们经历过SSM时期的时候,比如要引进Redis,是不是要先要导Maven依赖,还要进行大量的配置Bean,然后才能使用,而使用 Spr 阅读全文
posted @ 2023-05-10 15:48 酷酷- 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 1 前言 上节我们看了上下文的创建和准备,那么我们这节就来看看刷新上下文。 2 刷新上下文 首先就是我们的 run 方法,执行刷新上下文 refreshContext(context): // ###run方法 refreshContext(context); // ###SpringApplica 阅读全文
posted @ 2023-05-06 17:37 酷酷- 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 1 前言 上节我们看了下环境准备,那么接下来我们就要看重头了,就是创建和准备上下文了。 // 创建上下文 context = createApplicationContext(); // 加载异常解析报告类 exceptionReporters = getSpringFactoriesInstanc 阅读全文
posted @ 2023-05-06 16:22 酷酷- 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 1 前言 这节我们来看看 Spingboot 启动前的一些环境准备工作: // 封装请求参数 ApplicationArguments applicationArguments = new DefaultApplicationArguments(args); // 准备环境变量,包含系统属性和用户配 阅读全文
posted @ 2023-05-06 13:51 酷酷- 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 1 前言 我们都知道 SpringBoot 启动的时候,@SpringBootApplication 注解里是会有一个@ComponentScan注解,用于扫描当前启动类目录下的所有组件,那它是什么时候执行的呢,具体的执行过程是怎么样的我们这节就来看一下。 2 @ComponentScan 注解作用 阅读全文
posted @ 2023-05-06 07:44 酷酷- 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 1 前言 我们看到 SpringBoot 启动的时候,会在每个时机执行监听器,这节我们就来看看,加载监听器的过程我们就不说了哈,上节说过了哈,本节我们主要看: (1)SpringApplicationRunListeners 的创建过程 (2)监听器的执行时机有哪些 (3)监听器的执行过程 三个方面 阅读全文
posted @ 2023-05-05 15:07 酷酷- 阅读(1719) 评论(0) 推荐(1) 编辑
摘要: 1 Map相关 摘自 Spring中加载 META-INF/spring.factories 下的类名,Map的巧初始化: Map<String, List<String>> result = cache.get(classLoader); // 缓存中有就直接返回 if (result != nu 阅读全文
posted @ 2023-05-05 06:39 酷酷- 阅读(125) 评论(0) 推荐(0) 编辑
上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 47 下一页