J2EE/spring
文章平均质量分 95
worn.xiao
这个作者很懒,什么都没留下…
展开
-
【spring源码解析】循环依赖原理
比如:A依赖于B、B依赖于c、c依赖于A. 通常来说,如果问spring容器内部如何解决循环依赖, 一定是指默认的单例Bean中,属性互相引用的场景。把B添加到三级缓存addSingletonFactory(beanName, () -> getEarlyBeanReference(beanName, mbd, bean))如上代码所示表示的是对象创建完以后,会把对象添加到单例缓存池中.并且相应的移除二级缓存和三级缓存.如上就是整个spring解决循环依赖的过程。如上代码所示是创建对象的代码.原创 2022-08-21 18:55:09 · 427 阅读 · 2 评论 -
【spring源码解析】Spring事务
Spring事务实现原理 一 申明式事务 TransactionProxyFactoryBean <!-- 定义事务管理器(声明式的事务) --> <beanid="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <propertyname="sessionFactory"> <ref...原创 2021-02-23 09:19:07 · 357 阅读 · 0 评论 -
【spring源码解析】SpringAOP 框架原理
SpringAOP框架与实现原理 一 什么是AOP Aop面向切面编程,使用AOP我们可以对类似于日志,风控等系统需求进行模块化组织。简化系统需求与实现之间的对比关系。进而使得整个系统的实现更具模块化。使用传统的方式我们无法对类似日志,安全检查,事务管理等的横切关注点进行组织和实现。所以AOP引入了Aspect的概念。用来以模块化的方式对系统进行组织和封装。简单的说就是一些所有业务操作的公共操作。 二 SpringAOP的公民 2.1 joinPoint 连接点 系统运行之前AOP...原创 2021-02-18 11:52:16 · 439 阅读 · 0 评论 -
【spring源码解析】spring容器初始化过程
SpringIOC容器加载原理 一 Spring容器框架 如上图所示,我们可以看到Spring初始化的架构原理,如上图所示通过不同的bean的定义方式,比如xml配置的方式,注解配置的方式,可能后面还有相信的扩展bean的定义方式,这个它是怎么工作呢,总的框架来说,无非是制作一层读取配置的抽象类BeanDefinationReader,以不同的方式读取配置,然后生成不同的beanDefination放到了beanDefinitionMap的bean容器池中。用到的时候再从beanDefinition原创 2020-10-11 23:24:26 · 1837 阅读 · 0 评论