![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring专题
文章平均质量分 92
Spring知识点
小超同学卷起来
这个作者很懒,什么都没留下…
展开
-
Spring底层整体脉络
紧接着,Spring会判断该对象是否实现了InitializingBean接口,如果实现了,就表示当前对象必须实现该接口中的afterPropertiesSet()方法,那Spring就会调用当前对象中的afterPropertiesSet()方法(初始化)最后,Spring会判断当前对象需不需要进行AOP,如果不需要那么Bean就创建完了,如果需要进行AOP,则会进行动态代理并生成一个代理对象做为Bean(初始化后)原创 2023-08-04 23:36:14 · 280 阅读 · 0 评论 -
手写模拟Spring源码启动过程
在语言模型中,编码器和解码器都是由一个个的 Transformer 组件拼接在一起形成的。提供先进的推理,复杂的指令,更多的创造力。原创 2023-08-06 22:02:58 · 84 阅读 · 0 评论 -
Spring整体源码架构前置核心概念解析
ListableBeanFactory:在BeanFactory的基础上,增加了其他功能,可以获取所有BeanDefinition的beanNames,可以根据某个类型获取对应的beanNames,可以根据某个类型获取{类型:对应的Bean}的映射关系。为什么要使用ASM技术,Spring启动的时候需要去扫描,如果指定的包路径比较宽泛,那么扫描的类是非常多的,那如果在Spring启动时就把这些类全部加载进JVM了,这样不太好,所以使用了ASM技术。原创 2023-08-09 01:13:37 · 232 阅读 · 0 评论 -
SpringIOC之Bean生命周期源码解析
Bean的生成过程原创 2023-08-10 17:52:28 · 348 阅读 · 0 评论 -
SpringIoC之依赖注入源码解析
如果是constructor,那么就可以不写set方法了,当某个bean是通过构造方法来注入时,spring利用构造方法的参数信息从Spring容器中去找bean,找到bean之后作为参数传给构造方法,从而实例化得到一个bean对象,并完成属性赋值(属性赋值的代码得程序员来写)。其实构造方法注入相当于byType+byName,普通的byType是根据set方法中的参数类型去找bean,找到多个会报错,而constructor就是通过构造方法中的参数类型去找bean,如果找到多个会根据参数名确定。原创 2023-08-14 23:03:55 · 287 阅读 · 0 评论 -
Spring之循环依赖底层底层源码解析
很简单,就是A对象依赖了B对象,B对象依赖了A对象。// A依赖了Bclass A{public B b;// B依赖了Aclass B{public A a;那么循环依赖是个问题吗?如果不考虑Spring,循环依赖并不是问题,因为对象之间相互依赖是很正常的事情。a.b = b;b.a = a;这样,A,B就依赖上了。但是,在Spring中循环依赖就是一个问题了,为什么?原创 2023-08-18 23:40:50 · 161 阅读 · 1 评论 -
SpringAOP底层实现源码解析
DefaultAdvisorAutoProxyCreator的父类是AbstractAdvisorAutoProxyCreator。原创 2023-08-21 23:15:52 · 184 阅读 · 0 评论 -
Spring 之事务底层源码解析
一个Bean在执行Bean的创建生命周期时,会经过InfrastructureAdvisorAutoProxyCreator的初始化后的方法,会判断当前当前Bean对象是否和BeanFactoryTransactionAttributeSourceAdvisor匹配,匹配逻辑为判断该Bean的类上是否存在@Transactional注解,或者类中的某个方法上是否存在@Transactional注解,如果存在则表示该Bean需要进行动态代理产生一个代理对象作为Bean对象。原创 2023-08-25 23:32:23 · 272 阅读 · 1 评论