
Spring5源码
文章平均质量分 83
以Spring5源码为基础,分享在阅读源码过程中遇到的问题及解决方案。
闪电如风雨
自律到极致,人生才精致。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spring5源码之JDBC事务
这篇文章主要介绍了Spring5源码之JDBC事务,通过源码剖析Spring5对事物是如何处理的,需要的朋友可以参考一下。1、annotation-driven根据配置文件annotation-driven关键字,定位到代码最终锁定类TxNamespaceHandler,在TxNamespaceHandler类中的init方法。@Overridepublic void init() { registerBeanDefinitionParser("advice", new TxAdviceBea.原创 2020-05-17 23:07:05 · 335 阅读 · 0 评论 -
Spring5源码之Mybatis
这篇文章主要介绍了Spring5源码之Mybatis,通过源码底层来分析Spring与Mybatis的逻辑,需要的朋友可以参考一下。通过上一篇Spring5整合Mybatis的使用案例,我们感受到了Spring为用户更加快捷地进行开发所做的努力,开发人员的工作效率大大提升。那我们就从sqlSessionFactory的创建开始分析源码。1、sqlSessionFactory创建我们从Sq...原创 2020-05-05 10:47:39 · 267 阅读 · 0 评论 -
Spring5源码之JDBC
这篇文章主要介绍了Spring5源码之JDBC,基于上一篇Spring5之JDBC使用案例来一步步剖析jdbcTemplate操作数据库的源码。需要的朋友可以参考一下。1、save/update功能实现在UserServiceImpl中jdbcTemplate的初始化是从setDataSource方法开始的,DataSource实例通过参数注入,DataSource的创建过程是引入第三方的...原创 2020-05-03 19:12:13 · 1004 阅读 · 0 评论 -
Spring5源码之CglibAopProxy
这篇文章主要介绍了Spring5源码之CglibAopProxy,通过Cglib代理使用示例来一步步剖析源码。需要的朋友可以参考一下。1、Cglib使用示例Cglib是一个强大的高性能的代码生成包。Cglib包的底层通过使用一个小而快的字节码处理框架ASM,来转换字节码并生成新的类。除了Cglib包,脚本语言例如Groovy和BeanShell,也是使用ASM来生成Java字节码。当然不鼓...原创 2020-05-01 23:59:42 · 1970 阅读 · 0 评论 -
Spring5源码之JdkDynamicAopProxy
这篇文章主要介绍了Spring5源码之JdkDynamicAopProxy,通过JDK代理使用示例来一步步剖析源码。需要的朋友可以参考一下。1 、JDK代理使用示例创建业务接口UserServicepackage com.test.spring5code.jdk.service;/** * @Description: 用户服务类 * @Author: Janson * @D...原创 2020-05-01 19:32:44 · 1480 阅读 · 0 评论 -
Spring5源码之AOP代理
这篇文章主要介绍了Spring5源码之AOP代理,是基于上一篇Spring5源码之AOP增强器获取所有对应的bean之后,就开始创建AOP代理了。需要的朋友可以参考一下。1、创建代理在获取所有对应的bean的增强器,便可以进行代理的创建了。/*** 对给定的bean创建AOP代理*/protected Object createProxy(Class<?> beanClas...原创 2020-05-01 00:51:32 · 262 阅读 · 0 评论 -
Spring5源码之AOP增强器
这篇文章主要介绍了Spring5源码之AOP增强器,通过增强器源码的底层来分析,我们在创建通知的时候,使用的表达式是如何被解析的,需要的朋友可以参考一下。1、 普通增强器的获取普通增强器的获取逻辑是通过getAdvisor方法实现,实现步骤包括对切点的注解的获取以及根据注解信息生成增强。protected List<Advisor> findCandidateAdvisors...原创 2020-04-28 23:54:46 · 288 阅读 · 0 评论 -
Spring5源码之动态AOP
这篇文章主要介绍了Spring5源码之动态AOP的解析,通过源码底层来分析AOP的的执行逻辑,需要的朋友可以参考一下。1、AopNamespaceHandler源码在Spring中自定义注解,如果声明了自定义的注解,那么就一定会在程序中的某个地方注册了对应的解析器。public void init() { // In 2.0 XSD as well as in 2.1 XSD. re...原创 2020-04-26 23:33:22 · 401 阅读 · 0 评论 -
Spring5之动态AOP使用案例
这篇文章主要介绍了Spring5之动态AOP的使用案例,通过一个案例来了解AOP的使用方式,需要的朋友可以参考一下。1、创建用于拦截的bean在实际工作中,此bean可能是满足业务需要的核心逻辑,例如test方法可能会封装着某个核心业务。但是,如果完美想在test前后加入日志来跟踪调试。如果直接修改源码并不符合面向对象的设计方法,而且随着改动原有代码也有一定的风险,还好接下来的Spring...原创 2020-04-25 17:20:04 · 200 阅读 · 0 评论 -
Spring5源码之ApplicationContext
这篇文章主要介绍了Spring5源码之ApplicationContext的接口,用于加载Bean的,需要的朋友可以参考一下。1、ClassPathXmlApplicationContext源码解析独立的XML应用程序上下文,获取上下文定义文件,从类路径中将普通路径解释为类路径资源名。/** * Standalone XML application context, taking th...原创 2020-04-19 12:20:21 · 397 阅读 · 0 评论 -
Spring5源码之ApplicationContext与BeanFactory的区别
这篇文章主要介绍了Spring5源码之ApplicationContext与BeanFactory的区别,两者都是用于加载Bean的,需要的朋友可以参考一下。1、ApplicationContext与BeanFactory的类实现的区别两者都是用于加载Bean的,但是相比之下,ApplicationContext提供了更多的扩展功能,简单一点来说:ApplicationContext包含了...原创 2020-04-11 15:31:33 · 173 阅读 · 0 评论 -
Spring5源码之BeanPostProcessor
Spring5源码之BeanPostProcessor的处理器原创 2020-04-06 17:41:17 · 201 阅读 · 0 评论 -
Spring5源码之BeanFactoryAware
这篇文章主要介绍了Spring5源码之BeanFactoryAware的接口,在bean初始化之后,可以取得一些资源并对bean进行相关的设置,需要的朋友可以参考一下。Spring5源码之BeanFactoryAware...原创 2020-04-05 21:06:05 · 383 阅读 · 0 评论 -
IDEA2019.3.3版本采用Gradle编译Spring5源码(Spring-framework5.0.x)
IDEA2019.3.3采用Gradle编译Spring5源码(Spring-framework5.0.x)原创 2020-03-30 08:59:37 · 1966 阅读 · 0 评论