
spring源码
文章平均质量分 61
烟花丿易冷
这个作者很懒,什么都没留下…
展开
-
SpringIOC容器加载完Bean之后的操作
SpringIOC容器加载完Bean之后的操作前言一、ApplicationListenerSpring整合Nacos就是用的此种方式二、SmartLifecycleSpring整合Eureka就是用的此种方式三、SmartInitializingSingletonSpring整合Ribbon用的就是此种方式四、BeanPostProcessorSpring整合Sentinel就是用的此种方式。前言有时候我们需要在Spring加载和初始化所有bean后,接着执行一些任务或者启动需要的异步服一、Ap原创 2021-04-19 09:12:24 · 2511 阅读 · 1 评论 -
Spring源码级别分析@Lazy注解和FactoryBean接口
@Lazy注解--懒加载分析及FactoryBean接口示例原因FactoryBean总结思考示例代码@Configuration@Import(value = {CompentC.class,TulingImportSelect.class,TulingImportBeanfinitionRegister.class})@ComponentScan(basePackages = {"com.tuling.parsebeandefinition"})public class MainConfig原创 2021-03-21 19:57:23 · 408 阅读 · 0 评论 -
设计模式学习-----利用SpringAOP原理学习责任链模式
设计模式学习-----利用SpringAOP原理学习责任链模式前言代码讲解总结前言说道责任链设计模式最应该想到的就是SpringAOP,今天就利用其原理学习个简化版的责任链模式,对SpringAOP不了解的可以看我之前的博客。代码public class TulingLogInterceptor implements MethodInterceptor { @Override public Object invoke(MethodInvocation invocation) thr原创 2021-02-19 21:56:27 · 322 阅读 · 0 评论 -
Spring集成Mybatis源码分析
Spring集成Mybatis原理分析准备示例代码一、Spring集成了mybatis的哪些东西?集成了SqlSessionFactory事务是如何集成的?二、Mapper接口使用的jdk动态代理三、怎么让Spring去管理Mapper动态代理?准备示例代码代码@Configuration@MapperScan(basePackages = {"com.tuling.mapper"})@ComponentScan(basePackages = {"com.tuling"})@Repositor原创 2020-12-11 16:37:59 · 384 阅读 · 0 评论 -
来了解一下Spring声明式事务
Spring声明式事务准备代码及数据库一、不开启事务二、开启事务事务配置的属性1.事务隔离级别1.脏读2.不可重复读3.幻读不可重复读和幻读的区别2.事务的传播特性1.REQUIRED(默认) 开启新的事务 融合到外部事务中2.SUPPORTS 不开启新的事务 融合到外部事务中3.REQUIRES_NEW 开启新的事务 挂起外部事务,创建新的事务4.NOT_SUPPORTED 不开启新的事务 挂起外部事务5.NEVER 不开启新的事务 抛出异常6.MANDATORY 抛出异常 融合到外部事务中7.NEST原创 2020-11-29 12:12:03 · 510 阅读 · 0 评论 -
流程图解Spring源码------ bean定义注册源码阅读
流程图详解SpringIOC bean定义的注册准备样例代码流程图解bean定义的注册准备样例代码代码:public class InstA { public InstA(){ System.out.println("InstA的构造方法....."); } @Override public String toString() { return "InstA{" + "instB=" + instB + '}'; }}public class Inst原创 2020-11-23 17:16:13 · 226 阅读 · 0 评论 -
SpringBoot神器SPI机制学习!!!
SpringBoot学习之SPI机制浅析前言例子前言SpringBoot的零配置之一就是基于SPI。能很好的做扩展。本篇学习下SpringBoot集成第三方技术的核心前置知识SPI的模式。例子ServiceLoader类是java.util下的接口,解析文档的接口public interface IPraseDoc { void prase();}解析Excel的实现类public class ExcelParse implements IPraseDoc { @原创 2020-11-16 15:06:51 · 1027 阅读 · 1 评论 -
源码阅读---Spring是如何解决循环依赖?
Spring是如何解决循环依赖前言源码解读前言本篇debug源码的方式去进行。准备测试代码切面类:@Aspect@Order@Componentpublic class TulingLogAspect { public TulingLogAspect() { System.out.println("加载TulingLog"); } @Pointcut("execution(* tuling.TulingCalculateA.*(..))") public void p原创 2020-11-11 17:26:56 · 216 阅读 · 1 评论 -
进阶篇---Mybatis与Spring整合源码阅读
Spring源码阅读之进阶篇整合MyBatis原创 2020-10-31 11:15:19 · 229 阅读 · 0 评论 -
手写模拟SpringMVC框架
手写SpringMVC框架前言项目结构图pom文件及说明流程图创建控制层、业务层代码(Controller、Service、准备自定义注 解)、准备SpringMvc核心配置文件前端控制器封装控制器前言本篇内容为图灵学院VIP上课笔记,补充了老师留的注入参数,分别是直接注入,@RequestParam,@RequestBody三种方式。需要JAVA基础知识扎实,熟练使用反射,自定义注解等。项目的所有代码我就不贴了,要全部代码的可以私聊我。比较重要的地方我会贴上。项目结构图pom文件及说明&l原创 2020-10-23 13:36:42 · 398 阅读 · 0 评论 -
SpringMVC源码阅读万字整理
这里写自定义目录标题MVC模式阅读SpringMVC流程功能快捷键MVC模式阅读Model1模式: 早期的时候就是JSP和javaBean俩个。Model2 模型:是在 Model1 的基础上进行改良,它是 MVC 模型的一个经典应用。它把处理请求 和展示数据进行分离,让每个部分各司其职。此时的 JSP 已经就是纯粹的展示数据了,而处理请求的事情交由控制器来完成,使 每个组件充分独立,提高了代码可重用性和易维护性。下图展示的就是 Model2 模型:SpringMVC流程功能快捷键撤销:C原创 2020-10-17 11:36:46 · 122 阅读 · 0 评论 -
SpringAOP源码解析DayTwo
SpringAOP源码解析DayTwo回顾解析advisor过程创建动态代理如何调用回顾我们的AOP实现大致分为3块解析切面,将所有带aspect的切面和所有的通知解析成advisor,advisor中就带了通知和pointCut根据ponitcut去匹配,如果匹配上就会创建动态代理调用的时候通过责任链的方式,去调用解析advisor过程使用@EnableAspectJAutoProxy注解开启aop@Target(ElementType.TYPE)@Retentio原创 2020-10-05 13:19:42 · 185 阅读 · 0 评论 -
带你了解Spring监听器
这里写自定义目录标题欢迎使用Markdown编辑器新的改变欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markd原创 2020-09-28 14:45:47 · 3156 阅读 · 0 评论 -
SpringAOP源码解析DayOne
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计原创 2020-09-26 17:54:04 · 265 阅读 · 0 评论 -
带你了解SpringIOC容器底层注解
这里写自定义目录标题Spring IOC 容器底层注解使用xml配置文件的形式 VS 配置类的形式1.xml形式2.基于读取配置类的形式定义Bean信息在配置类上写@CompentScan注解来进行包扫描配置Bean的作用域对象Bean的懒加载@Lazy@Conditional进行条件判断等往IOC 容器中添加组件的方式Bean的初始化方法和销毁方法通过@Value +@PropertySource来给组件赋值自动装配XXXAware接口的使用通过@Profile注解 来根据环境来激活标识不同的BeanS原创 2020-09-25 20:12:15 · 344 阅读 · 0 评论 -
用手写循环依赖的方式来,了解Spring循环依赖
用手写循环依赖的方式来,了解Spring循环依赖原创 2020-09-22 22:43:47 · 542 阅读 · 4 评论 -
通过一个小案例来了解jdk动态代理
jdk动态代理通过代码来看动态代理通过代码来看动态代理public interface UserService { void add(); void update(); void delete();}public class UserServiceImpl implements UserService { @Override public void add() { System.out.println("add方法"); }原创 2020-09-21 11:50:06 · 132 阅读 · 0 评论 -
SpringIOC源码学习DayTwo
类是如何注册成bean定义的准备工作配置类的解析过程invokeBeanFactoryPostProcessors详解为什么要给配置类实现动态代理?@Configuration注解加与不加的区别配置类怎么进行解析@Configuration、@Component 、@Bean的区别准备工作本篇主要是讲,类是如何注册成beanDefinition。MainConfig.java:@Configuration@ComponentScan(basePackages = {"com.tuling.iocb原创 2020-09-20 16:42:58 · 135 阅读 · 0 评论 -
SpringIOC源码学习DayOne
spring源码阅读从IOC开始原创 2020-09-18 16:21:07 · 135 阅读 · 0 评论