文章分类 - Spring核心内容详解
摘要:原理流程图:https://www.processon.com/view/link/63f1d5cc2f69f86c1f96ee9c SpringMVC的作用毋庸置疑,虽然我们现在都是用SpringBoot,但是SpringBoot中仍然是在使用SpringMVC来处理请求。 我们在使用Spring
阅读全文
摘要:https://github.com/spring-projects/spring-framework/wiki/What%27s-New-in-Spring-Framework-6.x 最核心的就是Spring AOT。 GraalVM文章推荐:https://mp.weixin.qq.com/m
阅读全文
摘要:@EnableTransactionManagement工作原理 开启Spring事务本质上就是增加了一个Advisor,但我们使用@EnableTransactionManagement注解来开启Spring事务时,该注解代理的功能就是向Spring容器中添加了两个Bean: AutoProxyR
阅读全文
摘要:ProxyFactory选择cglib或jdk动态代理原理 ProxyFactory在生成代理对象之前需要决定到底是使用JDK动态代理还是CGLIB技术: // config就是ProxyFactory对象 // optimize为true,或proxyTargetClass为true,或用户没有给
阅读全文
摘要:动态代理 代理模式的解释:为其他对象提供一种代理以控制对这个对象的访问,增强一个类中的某个方法,对程序进行扩展。 比如,现在存在一个UserService类: public class UserService { public void test() { System.out.println("te
阅读全文
摘要:整合核心思路 由很多框架都需要和Spring进行整合,而整合的核心思想就是把其他框架所产生的对象放到Spring容器中,让其成为Bean。 比如Mybatis,Mybatis框架可以单独使用,而单独使用Mybatis框架就需要用到Mybatis所提供的一些类构造出对应的对象,然后使用该对象,就能使用
阅读全文
摘要:解析配置类 解析配置类流程图:https://www.processon.com/view/link/5f9512d5e401fd06fda0b2dd 解析配置类思维脑图:https://www.processon.com/view/link/614c83cae0b34d7b342f6d14 在启动
阅读全文
摘要:前言分析 通常,我们说的Spring启动,就是构造ApplicationContext对象以及调用refresh()方法的过程。 首先,Spring启动过程主要做了这么几件事情: 构造一个BeanFactory对象 解析配置类,得到BeanDefinition,并注册到BeanFactory中 解析
阅读全文
摘要:推断构造方法流程图:https://www.processon.com/view/link/5f97bc717d9c0806f291d7eb AutowiredAnnotationBeanPostProcessor中推断构造方法不同情况思维脑图:https://www.processon.com/v
阅读全文
摘要:什么是循环依赖? 很简单,就是A对象依赖了B对象,B对象依赖了A对象。 比如: // A依赖了B class A{ public B b; } // B依赖了A class B{ public A a; } 那么循环依赖是个问题吗? 如果不考虑Spring,循环依赖并不是问题,因为对象之间相互依赖是
阅读全文
摘要:Spring中到底有几种依赖注入的方式? 首先分两种: 手动注入 自动注入 手动注入 在XML中定义Bean时,就是手动注入,因为是程序员手动给某个属性指定了值。 <bean name="userService" class="com.luban.service.UserService"> <pro
阅读全文
摘要:Spring最重要的功能就是帮助程序员创建对象(也就是IOC),而启动Spring就是为创建Bean对象做准备,所以我们先明白Spring到底是怎么去创建Bean的,也就是先弄明白Bean的生命周期。 Bean的生命周期就是指:在Spring中,一个Bean是如何生成的,如何销毁的 Bean生命周期
阅读全文
摘要:前面一篇文章,我们大概了解了Spring中的一些概念和底层工作流程,本篇文章开始将真正讲一些Spring中的概念和工作流程。 本篇文章的内容,是后续看Spring源码所必备的,防止后续看源码的过程中,遇到不会的概念得单独跳出来学习。 BeanDefinition BeanDefinition表示Be
阅读全文
摘要:本篇文章会把Spring中核心知识点都给大家进行串讲,让大家对Spring的底层有一个整体的大致了解,比如: Bean的生命周期底层原理 依赖注入底层原理 初始化底层原理 推断构造方法底层原理 AOP底层原理 Spring事务底层原理 但都只是大致流程,后续系列文章会针对每个流程详细深入的讲解并分析
阅读全文