Spring系列
文章平均质量分 93
学习Spring系列原理
大树~~
哦
展开
-
Spring系列-SpringMvc父子容器启动原理解析
Tomcat在启动时会通过SPI注册 ContextLoaderListener和DispatcherServlet对象同时创建父子容器分别创建在ContextLoaderListener初始化时创建父容器设置配置类在DispatcherServlet初始化时创建子容器 即2个ApplicationContext实例设置配置类Tomcat在启动时执行ContextLoaderListener和DispatcherServlet对象的初始化方法, 执行容器refresh进行加载。原创 2024-06-02 17:54:19 · 1221 阅读 · 0 评论 -
17、Spring系列-SpringMVC-请求源码流程
Spring官网的MVC模块介绍:Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就已包含在Spring框架中。正式名称“ Spring Web MVC”来自其源模块的名称(spring-webmvc),但它通常被称为“ Spring MVC”。从Servlet到SpringMVC最典型的MVC就是JSP + servlet + javabean的模式。原创 2024-06-01 16:32:06 · 913 阅读 · 0 评论 -
16、Spring系列-spring事务原理解析
Spring 事务原理解析原创 2024-05-30 23:23:48 · 813 阅读 · 0 评论 -
15、Spring系统-AOP
这个注解主要就是往Spring容器中添加了一个AnnotationAwareAspectJAutoProxyCreator类型的Bean。继承了,重写了findCandidateAdvisors()方法,只能找到所有Advisor类型的Bean对象,但是除开可以找到所有Advisor类型的Bean对象,还能把@Aspect注解所标注的Bean中的@Before等注解及方法进行解析,并生成对应的Advisor对象。。原创 2024-05-29 22:52:05 · 1508 阅读 · 0 评论 -
14、Spring系列-动态代理
代理模式的解释:为提供一种以控制对这个对象的访问,增强一个类中的某个方法,对程序进行扩展。此时,我们new一个UserService对象,然后执行test()方法,结果是显而易见的。如果我们现在想在得到的都是UserService对象,但是执行test()方法时的效果却不一样了,这就是代理所带来的效果。上面是通过cglib来实现的代理对象的创建,是基于的,被代理类(UserService)是父类,代理类是子类,代理对象就是代理类的实例对象,代理类是由cglib创建的,对于程序员来说不用关心。原创 2024-05-21 23:15:05 · 591 阅读 · 0 评论 -
13、Spring系列-整合Mybatis底层源码分析
由很多框架都需要和Spring进行整合,而整合的核心思想就是把其他框架所产生的对象放到Spring容 器中,让其成为Bean。原创 2024-05-19 17:18:37 · 984 阅读 · 0 评论 -
12、Spring系列-解析配置类
解析AppConfig类生成对应的ConfigurationClass。扫描类并生成BeanDefinition扫描得到的类生成BeanDefinition,同时这些类也是ConfigurationClass。解析ConfigurationClass中的其他信息处理@ImportResource注解。处理@Import注解。处理@Bean注解。通过上述步骤,Spring能够解析配置类,生成相应的BeanDefinition,并完成Bean的注册和初始化过程,从而实现依赖注入和容器管理。原创 2024-05-19 17:04:55 · 808 阅读 · 1 评论 -
11、Spring系列-Spring启动过程详解
通常,我们说的Spring启动,就是构造ApplicationContext对象以及调用refresh()方法的过程。。原创 2024-05-16 23:43:16 · 625 阅读 · 0 评论 -
10、Spring系列-推断构造方法源码解析
Spring中的一个bean,需要实例化得到一个对象,而实例化就需要用到构造方法。如果只有的构造方法,那么实例化就只能使用这个构造方法了。如果只有的构造方法,那么实例化时能使用这个构造方法吗?上面是只有一个构造方法的情况,那么如果有多个构造方法呢?又分为两种情况,多个构造方法中存不存在无参的构造方法。分析:一个类存在多个构造方法,那么Spring进行实例化之前,该如何去确定到底用哪个构造方法呢?针对第一点,开发者可以通过什么方式来指定使用哪个构造方法呢?原创 2024-05-14 23:15:05 · 668 阅读 · 0 评论 -
9、Spring系列-循环依赖
很简单,就是A对象依赖了B对象,B对象依赖了A对象。那么循环依赖是个问题吗?如果不考虑Spring,循环依赖并不是问题,因为对象之间相互依赖是很正常的事情。a.b = b;b.a = a;这样,A,B就依赖上了。但是,在Spring中循环依赖就是一个问题了,为什么?因为,在Spring中,一个对象并不是简单new出来了,而是会经过一系列的Bean的生命周期,就是因为Bean的生命周期所以才会出现循环依赖问题。原创 2024-05-13 23:26:04 · 858 阅读 · 0 评论 -
8、Spring系列-依赖注入下
该方法表示,传入一个依赖描述(DependencyDescriptor),该方法会根据该依赖描述从BeanFactory中找出对应的唯一的一个Bean对象。下面来分析一下中**resolveDependency()**方法的具体实现,原创 2024-05-13 23:11:39 · 587 阅读 · 0 评论 -
7、Spring系列-依赖注入
方法参数个数为0个,并且 (方法名字以"get"开头 或者 方法名字以"is"开头并且方法的返回类型为boolean)**set方法的定义是:**方法参数个数为1个,并且 (方法名字以"set"开头并且方法返回类型为void)原创 2024-05-08 23:36:55 · 915 阅读 · 0 评论 -
6、Spring系列-Bean的销毁过程
但是我们在定义一个Bean时,如果这个Bean实现了DisposableBean接口,或者实现了AutoCloseable接口,或者在BeanDefinition中指定了destroyMethodName,那么这个Bean都属于“DisposableBean”,这些Bean在容器关闭时都要调用相应的销毁方法。在销毁时,Spring会找出实现了DisposableBean接口的Bean。Bean销毁是发生在Spring容器关闭过程中的。原创 2024-05-04 20:25:45 · 851 阅读 · 0 评论 -
5、Spring系列-Bean的生命周期
Bean的生命周期原创 2024-05-04 10:49:40 · 639 阅读 · 0 评论 -
4、Spring系列-底层架构核心解析
spring核心概念解析原创 2024-05-02 17:06:04 · 1094 阅读 · 0 评论 -
spring源码分析-01-概述
1.1、spring 设计伊始 spring是为了解决企业级应用开发的复杂性而设计的,它可以做很多事情。但归根到底支撑spring的仅仅是少许基本理论。而所有的这些基本理念都可以追溯到一个最根本的使命:简化开发。 而spring立志于简化java开发,对此他采用了四个关键策略: 1):基于pojo的轻量级和最小侵入性编程; 2):通过依赖注入和面向接口的松耦...原创 2019-08-21 14:44:54 · 945 阅读 · 0 评论 -
IDEA编译spring5.0源码操作流程-spring源码学习
前言:看了关于spring的视频教学与文章,总感觉知识只是掌握表面。深入去研究时还是一脸懵。所以想着干脆将源码下载下来,自己研究,还可以直接源码上做笔记,或者对源码增删改都可以。流程如下。一、spring 官网查找https://spring.io/projects/spring-framework点击进入gitHub查询Spring-framework源码(建议先从源码学习,再回...原创 2019-09-03 15:26:51 · 5863 阅读 · 0 评论 -
Spring IoC源码分析-01初步认识
前记:spring源码编译已经在前篇写过,现在开始去学习spring的源码()前因:对象之间的耦合关系是无法避免的,也是必要的,这是协同工作的基础。现在,伴随着工业级应用的规模越来越庞大,对象之间的依赖关系也越来越复杂,经常会出现对象之间的多重依赖性关系(1、依赖对象多次创建 2、依赖关系复杂),因此,架构师和设计师对于系统的分析和设计,将面临更大的挑战。对象之间耦合度过高的系统,必然会出现牵...原创 2019-10-09 21:44:47 · 165 阅读 · 0 评论 -
Spring IoC源码分析-02深入源码流程分析-xml配置
上篇已经讲了ioc实现原理、实现方法与实现流程这篇以debug模式去深究执行流程以xml配置模式为例进入org.springframework.context.support.AbstractApplicationContext#refresh方法断点进入org.springframework.context.support.AbstractApplicati...原创 2019-10-10 22:38:51 · 109 阅读 · 0 评论