随笔分类 -  spring

SpringMVC及其HandlerMapping、HandlerInterceptor、HandlerAdapter等组件的原理解析
摘要:SpringMVC的原理 加载的过程 关于加载,在SpringIOC的加载过程中,并不会直接将HandlerMapping等组件给加载进去,而是在第一次请求的时候,进行初始化 SpringMVC核心类,DispatcherServlet的类图 关于DispatcherServlet的初始化过程:由H 阅读全文

posted @ 2021-04-21 00:05 lyjlyjlyj 阅读(267) 评论(0) 推荐(0)

静态代理、动态代理和CGLIB,SpringAOP中的代理
摘要:静态代理、动态代理和CGLIB 动态代理和CGLIB都是运行时构建代理对象,动态代理通过反射的方式,CGLIB通过java字节码织入继承父类的方式实现 静态代理 静态代理的核心在于,代理类和被代理的类实现同一个接口 public interface IUserService { void save( 阅读全文

posted @ 2021-04-16 09:24 lyjlyjlyj 阅读(86) 评论(0) 推荐(0)

Spring核心IOC源码解读(四)getBean创建SpringBean对象以及循环依赖问题
摘要:getBean方法会调用到 AbstractBeanFactory 的 doGetBean() 方法中去。下面看看 AbstractBeanFactory 的类图结构 一、AbstractBeanFactory doGetBean()方法 这个代码块比较主要点在 getSingleton() 方法上 阅读全文

posted @ 2020-11-07 15:06 lyjlyjlyj 阅读(193) 评论(0) 推荐(0)

Spring事务的七种传播行为
摘要:Spring事务有7种传播行为: PROPAGATION_REQUIRED:Spring默认的类型,依赖型,事务之间互相依赖的,内层与外层共用一个事务(内层事务加入外层事务) PROPAGATION_SUPPORTS:外层有事务,支持内层无事务 PROPAGATION_MANDATORY:强制传播, 阅读全文

posted @ 2020-10-09 16:57 lyjlyjlyj 阅读(737) 评论(0) 推荐(0)

Spring核心IOC源码解读(三)实现BeanFactoryPostProcessors接口的postProcessBeanFactory方法
摘要:AbstractApplicationContext.invokeBeanFactoryPostProcessors() 代码块中,让 PostProcessorRegistrationDelegate 类去执行实现 postProcessBeanFactory() 方法的逻辑👇 protecte 阅读全文

posted @ 2020-09-25 16:03 lyjlyjlyj 阅读(253) 评论(0) 推荐(0)

Spring核心IOC源码解读(二)为BeanFactory准备数据
摘要:在SpringIOC获取到BeanFactory之后,需要为BeanFactory初始化一些属性,因为此时BeanFactory中只有最基本的BeanDefinition信息,还没有解析BeanDefinition相关的工具,所以在这一步中Spring将SpEL解析器、属性编辑器、Bean后置处理器 阅读全文

posted @ 2020-09-25 11:13 lyjlyjlyj 阅读(131) 评论(0) 推荐(0)

Spring核心IOC源码解读(一)获取BeanFactory
摘要:在 AbstractApplicationContext.refresh(); 的过程中,第二步为获取BeanFactory -> obtainFreshBeanFactory()。在这个方法中,Spring先创建了BeanFactory,然后通过读取XML配置文件(或者扫描Java类)的方式初始化 阅读全文

posted @ 2020-09-23 13:43 lyjlyjlyj 阅读(297) 评论(0) 推荐(0)

SpringIOC源码解读(大纲)
摘要:Spring核心IOC源码解读 前言:Spring IOC容器是Spring核心的模块,阅读源码了解它的运行机制,可以更深刻地理解Spring中bean的生成原理、生命周期等。更可以了解各个Spring中接口的作用,对其理解并加以运用。 使用XML文件的方式创建SpringBean容器 ClassP 阅读全文

posted @ 2020-09-22 18:35 lyjlyjlyj 阅读(136) 评论(0) 推荐(0)

Spring Bean DI装配问题、高级装配、根据环境注入、同父类的多个子类注入问题、作用域、如何运行时注入配置
摘要:Spring的初衷 简化系统的复杂性; 使用依赖注入降低系统耦合度,减少开发者对对象的维护; 提供切面编程,将模块组件化,而非代码直接调用; 提供特定模块的模板,避免开发者写重复代码; 利于测试; Spring Bean的装配 三种装配方式:XML、JavaConfig、自动装配 XML通过XML文 阅读全文

posted @ 2020-05-16 14:10 lyjlyjlyj 阅读(1327) 评论(0) 推荐(0)

SpringMVC一点简单地源码解析
摘要:. 1.1 init(初始化) 在第一次发出请求时,会调用HttpServletBean 的init()方法 org.springframework.web.servlet.HttpServletBean.init() //读取配置文件,初始化等操作 org.springframework.web. 阅读全文

posted @ 2020-02-21 11:30 lyjlyjlyj 阅读(141) 评论(0) 推荐(0)

LocalDateTime整合到SpringBoot + MyBatis中
摘要:啥也不说先贴两个代码: 一:MVC层配置 二、关于数据层MyBatis需要配置pom新增依赖: 阅读全文

posted @ 2019-11-04 16:50 lyjlyjlyj 阅读(522) 评论(0) 推荐(0)

Spring事务,Bean生命周期
摘要:一、事务相关: 1.Spring事务基于Spring AOP切面编程; 2.AOP基于代理模式,得到需要开启事务的代码的代理对象; 3.而没有开启事务的Service方法里调用了开启事务 @Transactional 的方法时,整个代码是不会开启事务的,原理还是代理模式插入事务的依据是最外层的注解; 阅读全文

posted @ 2019-02-12 15:40 lyjlyjlyj 阅读(273) 评论(0) 推荐(0)

导航