![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
文章平均质量分 94
Spring
bubble小拾
梦想不止于编程,行动才是起点
展开
-
Spring事务源码解析
开启Spring事务本质上就是增加了一个Advisor,但我们使用@EnableTransactionManagement注解来开启Spring事务,该注解代理的功能就是向Spring容器中添加了两个Bean:AutoProxyRegistrarProxyTransactionManagementConfigurationAutoProxyRegistrar主要的作用是向Spring容器中注册了一个InfrastructureAdvisorAutoProxyCreator的Bean。原创 2024-08-05 21:30:43 · 708 阅读 · 0 评论 -
SpringAOP-底层实现源码解析
OOP表示面向对象编程,是一种编程思想,AOP表示面向切面编程,也是一种编程思想,而我们上面所描述的就是Spring为了让程序员更加方便的做到面向切面编程所提供的技术支持,换句话说,就是Spring提供了一套机制,可以让我们更加容易的来进行AOP,所以这套机制我们也可以称之为Spring AOP。原创 2024-08-04 18:29:39 · 1225 阅读 · 0 评论 -
SpringIoC-循环依赖源码解析
1. 什么是循环依赖?很简单,就是A对象依赖了B对象,B对象依赖了A对象。那么循环依赖是个问题吗?如果不考虑Spring,循环依赖并不是问题,因为对象之间相互依赖是很正常的事情。这样,A,B就依赖上了。但是,在Spring中循环依赖就是一个问题了,为什么?因为,在Spring中,一个对象并不是简单new出来了,而是会经过一系列的Bean的生命周期,就是因为Bean的生命周期所以才会出现循环依赖问题。当然,在Spring中,出现循环依赖的场景很多,有的场景Spring自动帮我们解决了,而有的场景原创 2024-08-02 00:01:02 · 1332 阅读 · 0 评论 -
SpringIoC-依赖注入源码解析
2. Spring中到底有几种依赖注入的方式?2.1 手动注入在XML中定义Bean时,就是手动注入,因为是程序员手动给某个属性指定了值。2.2 自动注入2.2.1 XML的autowire自动注入2.2.2 @Autowired注解的自动注入原创 2024-07-31 00:00:58 · 1292 阅读 · 0 评论 -
SpringIoC-Bean源码解析
Spring最重要的功能就是帮助程序员创建对象(也就是IOC),而启动Spring就是为创建Bean对象做准备,所以我们先明白Spring到底是怎么去创建Bean的,也就是先弄明白Bean的生命周期。Bean的生命周期就是指:在Spring中,一个Bean是如何生成的,如何销毁的。原创 2024-07-29 00:03:39 · 1116 阅读 · 0 评论 -
Spring源码架构-核心概念解析
BeanDefinition表示Bean定义,BeanDefinition中存在很多属性用来描述一个Bean的特点。比如:class,表示Bean类型scope,表示Bean作用域,单例或原型等lazyInit:表示Bean是否是懒加载initMethodName:表示Bean初始化时要执行的方法destroyMethodName:表示Bean销毁时要执行的方法原创 2024-07-27 17:22:10 · 1132 阅读 · 0 评论 -
手写模拟Spring底层原理-简易实现版
这里实现一个简化版的 Spring 框架的核心功能,模拟应用程序上下文(ApplicationContext)的创建、bean 的定义、依赖注入、作用域管理和后置处理等过程。实际的 Spring 框架在此基础上还有更多功能和复杂性,这里只提供一个基础的理解。通过手写模拟Spring。原创 2024-07-26 00:02:01 · 751 阅读 · 0 评论 -
Spring框架底层原理脉络梳理
AOP就是进行动态代理,在创建一个Bean的过程中,Spring在最后一步会去判断当前正在创建的这个Bean是不是需要进行AOP,如果需要则会进行动态代理。如何判断当前Bean对象需不需要进行AOP:找出所有的切面Bean遍历切面中的每个方法,看是否写了@Before、@After等注解如果写了,则判断所对应的Pointcut是否和当前Bean对象的类匹配如果匹配则表示当前Bean对象有匹配的的Pointcut,表示需要进行AOP原创 2024-07-24 00:57:54 · 907 阅读 · 0 评论