
Spring系列
文章平均质量分 93
学习Spring的相关知识,理解Spring的相关源码。
澹泊明志 宁静致远
梦想还是要有的,或许不会实现,但却会无限接近,不知不觉就成了那个“别人家的孩子”。
展开
-
关于@Qualifier注解的一个新的发现
问题描述今天在研究Spring Cloud的Ribbon源码时遇到的一个问题。大家还记得怎么启动Ribbon负载均衡功能吧。不使用feign这种方式,单纯的声明一个RestTemplate的bean,然后在方法上加上@LoadBalanced注解即可,ribbon相关的依赖jar包在eureka client是默认提供的,不需要额外引入,如下方所示。/** * @Description * @Author binghua.zheng * @Date 2021/6/21 23:41 * @Ver原创 2021-06-22 23:24:01 · 654 阅读 · 1 评论 -
Spring AOP通知的执行顺序模型分析与代码验证
这篇博客的目的是要理清Spring AOP中各种通知的执行顺序,主要是同一切面内和不同切面内通知的执行顺序区别,以及如何在切面级别上更改顺序?原创 2021-01-30 22:58:43 · 526 阅读 · 0 评论 -
源码分析-Spring AOP的通知执行策略(三)
在使用Spring AOP的过程中,我们会用@Before,@Around,@After,@AfterReturning,@AfterThrowing注解标注在切面的方法上,以此来作为通知作用于某个切点上。这篇博客,我们就分析这些通知是如何执行的?原创 2021-01-29 00:52:57 · 443 阅读 · 2 评论 -
源码分析-Spring AOP是如何实现的?(二)
接着上篇继续说Spring AOP,篇幅有限,上篇主要介绍了搭建Spring AOP的初始化环境,以及Spring实现这一功能的核心思路,这篇专门从源码分析Spring是如何实现AOP的。AOP流程核心源码分析此处分析源码也是按照我们之前所猜测的AOP实现步骤来逐条分析和验证。首先看一下实例化我们的UserService前,Spring容器里都有什么?可以看到,此时bean容器里只有切面类userAspect,要获取的userService,以及我们提前实例化好的BeanPostProcessor原创 2021-01-21 23:32:34 · 229 阅读 · 5 评论 -
源码分析-Spring AOP是如何实现的?(一)
本文目的此篇博客主要目的是要理清Spring中实现AOP这一编程思想的的具体思路。由于Spring AOP的源码非常多且繁琐,所以这里着重介绍Spring对AOP的核心源码实现,一些辅助功能的源码实现细节不会过多讲述,同时,我们知道,Spring 对目标类的代理有两种方式----JDK Proxy和Cglib,本篇主要以JDK这种代理方式来分析。既然说Spring AOP的源码,需要读者至少要知道AOP如何使用,同时也要对Spring IOC的实现流程或者说bean的生命周期有部分了解,这部分知识本文不会原创 2021-01-19 22:49:34 · 404 阅读 · 2 评论 -
源码分析-Spring是如何与Mybatis整合的?
本文主要讲Spring和Mybatis整合的源码分析,侧重点在于源码分析Spring如何将我们定义的Mapper接口加载到Spring容器内?我们从Spring容器获取到的Mapper对象到底是什么?它又是如何来的?Mybatis部分的相关源码不会着重讲。这部分源码主要在mybatis-spring这个jar包中,此jar包不是Spring官方的,看Spring的做法,可能Spring项目组没太看的上mybatis这个ORM框架,毕竟mybatis属于半自动框架,国外程序员可能更偏向于JPA这种。不过,目原创 2021-01-12 00:51:26 · 252 阅读 · 1 评论 -
源码分析-spring是如何解决循环依赖的?
什么是循环依赖? Spring中的循环依赖指的是A类注入了B类属性,而B类又依赖了A类属性。如果有这种情况,那么在创建A对象的时候,B还没有创建,如果去创建B,那A还没有创建。这种情况,Spring是如何解决的呢?循环依赖的两种方式同spring的依赖注入方式一样,setter方法和构造器方法。setter方式首先我们先用setter方式来表示这种循环依赖关系。两个bean:OrderService.java和UserService.java@Componentpublic class O原创 2020-12-20 23:52:15 · 312 阅读 · 0 评论 -
spring-framework之AnnotatedBeanDefinitionReader解析
AnnotatedBeanDefinitionReader的作用Spring源码中类的命名还是很讲究的,AnnotatedBeanDefinitionReader它的作用如同它本身的命名,主要是为了解析带有注解的bean的beanDefinition,并将其注册到Bean工厂中。在此类的注释中也有介绍,功能与ClassPathBeanDefinitionScanner类似,但是不同的是AnnotatedBeanDefinitionReader是必需要去指定某个class或class数组。下面来介绍此类的主原创 2020-10-27 00:35:16 · 1074 阅读 · 0 评论 -
对Spring依赖注入的理解
依赖注入控制反转(IOC)是程序设计的一种思想,它解决了对象之间的耦合问题,使代码的扩展性更高,Spring也是通过这一种思想来管理Bean之间的依赖关系的。而要实现IOC这一思想,那么依赖注入(DI)就是其中一种有效的方式。这也就是IOC和DI之间的关系。Spring实现依赖注入的两种方法基于构造器实现的依赖注入@Componentpublic class StudentDao { private TeacherDao teacherDao; public StudentDao(Tea原创 2020-07-03 02:49:34 · 1004 阅读 · 2 评论 -
分享如何从Spring官网下载PDF文档
网址总站: http://docs.spring.io/spring-framework/docs/原创 2020-11-28 16:59:44 · 2495 阅读 · 0 评论