随笔分类 -  Spring

摘要:往期回顾: 细读Spring源码(一) refresh()方法概览 细读Spring源码(二) 关于Spring中用到的设计模式 细读Spring源码(三) 深度剖析动态代理底层实现 细读Spring源码(四) 什么是IOC? 细读Spring源码(五) AOP从实战到源码 今天早上又回顾了一下源码 阅读全文
posted @ 2021-12-06 20:57 bug改了我 阅读(436) 评论(0) 推荐(0)
摘要:往期回顾: 细读Spring源码(一) refresh()方法概览 细读Spring源码(二) 关于Spring中用到的设计模式 细读Spring源码(三) 深度剖析动态代理底层原理 细读Spring源码(四) 什么是IOC? 一、AOP是什么 AOP为Aspect Oriented Program 阅读全文
posted @ 2021-12-03 15:09 bug改了我 阅读(232) 评论(0) 推荐(0)
摘要:往期回顾: 细读Spring源码(一) refresh()方法概览 细读Spring源码(二) 关于Spring中用到的设计模式 细读Spring源码(三) 深度剖析动态代理底层原理 IOC是什么?看一下百度百科中的专家贡献,感觉写的还是比较简单明了,拿过来引用: 控制反转(Inversion of 阅读全文
posted @ 2021-12-01 22:21 bug改了我 阅读(220) 评论(0) 推荐(0)
摘要:往期回顾: 细读Spring源码(一) refresh()方法概览 细读Spring源码(二) 关于Spring中用到的设计模式 动态代理传送门(两篇比较好的文章,搬运过来): Java 动态代理作用是什么? java动态代理实现与原理详细分析 上一篇文章梳理了Spring中用到的设计模式,其中就用 阅读全文
posted @ 2021-12-01 13:24 bug改了我 阅读(980) 评论(0) 推荐(0)
摘要:往期回顾: 细读Spring源码(一) refresh()方法概览 声明:本文中源码使用的是Spring5.3版本,就是源码中的master分支!!! 一般来说,设计模式分为创建型、结构性和行为性,具体的有以下23种,其中的简单工厂模式其实不算真正意义上的设计模式: 我在看Spring源码的过程中, 阅读全文
posted @ 2021-11-30 21:34 bug改了我 阅读(2395) 评论(0) 推荐(0)
摘要:MyBatis-Spring项目不是Sring项目的子框架,而是由MyBatis社区开发的,所以在使用之前首先要导入mybatis-spring包,我是通过maven添加的依赖: 配置MyBatis-Spring项目的步骤: 配置数据源 配置SqlSessionFactory。可以选择的配置有Sql 阅读全文
posted @ 2018-09-30 12:56 bug改了我 阅读(495) 评论(0) 推荐(0)
摘要:本文介绍通过XML方式实现Spring AOP,在上一篇中已经介绍了通过注解+java配置的方式,这篇文章主要是看XML中怎么配置,直接上代码了: 一、创建一个连接点 1⃣️定义接口 注意⚠️:可以定义接口,也可以不定义,定义接口时使用jdk动态代理,不定义接口时使用cglib动态代理; 2⃣️接口 阅读全文
posted @ 2018-09-29 12:18 bug改了我 阅读(517) 评论(0) 推荐(0)
摘要:本文介绍通过注解@AspectJ实现Spring AOP,这里要重点说明一下这种方式实现时所需的包,因为Aspect是第三方提供的,不包含在spring中,所以不能只导入spring-aop的包,为了安全起见我导入的包有(我是maven方式添加依赖): 步骤如下: 一、创建连接点 spring是方法 阅读全文
posted @ 2018-09-29 11:42 bug改了我 阅读(1052) 评论(0) 推荐(0)
摘要:AOP(Aspect Oriented Programing),意为面向切面编程,其实看了很多书本的介绍和说明,我觉得这些解释都太过书面,也可能是翻译的原因,总觉得还是不太懂,也难以理解这种叫法,尤其是这个切面。其实切面在数学中指的是“和球面只有一个交点的平面”,我猜测spring团队之所以这么起名 阅读全文
posted @ 2018-09-28 23:35 bug改了我 阅读(764) 评论(0) 推荐(0)
摘要:spring中的配置文件有两种: 以XML结尾的spring配置文件 以properties结尾的属性配置文件 在spring中有两种方式加载这两种文件: 通过注解+java配置的方式 通过XML的方式 详细配置且看下文: 一、加载spring配置文件*.xml 假设有一个关于数据源的配置文件spr 阅读全文
posted @ 2018-09-27 23:51 bug改了我 阅读(1255) 评论(0) 推荐(0)
摘要:在spring ioc容器中,spring要先完成bean的定义和生成,然后需要需要注入的资源,在上一篇的扫描组件中就是这样实现的。而自动装配中我们只需要定义和生成一个bean,发现bean的过程将由spring自己完成,它是怎么发现的呢?答案是通过注解@Autowired,这个单词的意思就是自动装 阅读全文
posted @ 2018-09-27 20:34 bug改了我 阅读(1326) 评论(0) 推荐(0)
摘要:前两篇文章我总结了通过XML方式装配bean的实现方式,虽然比较简单,但是需要配置很多,很多时候我们都会使用注解进行装配。使用注解的方式可以减少XML的配置,既能实现XML的功能,还提供了自动装配功能,更加有利于开发,这就是传说中的“约定优于配置”原则,简称CoC(Convention over C 阅读全文
posted @ 2018-09-27 17:43 bug改了我 阅读(721) 评论(0) 推荐(0)
摘要:前一篇文章中已经介绍了XML方式装配bean的方式,本文将综合这些方式举一个实例并进行测试,我会把所有类型的参数都放在同一个类中进行测试,下面是我的类结构: 上图是我画的一个基本结构,可以看出该类中有基本类型变量、引用变量、属性变量、集合变量且集合元素有基本类型和引用类型,我的引用类型中所有变量使用 阅读全文
posted @ 2018-09-27 14:58 bug改了我 阅读(453) 评论(0) 推荐(0)
摘要:装配SpringBean,我理解的意思就在容器中定义一个bean,然后让容器通过某种方式找到它。因为在Spring中一切皆资源,资源就是所谓的bean,我们怎么才能从容器中获取这些资源呢?那就是控制反转Ioc(Inversion of Control)虽然我们不需要知道容器是怎么帮我们创建这些bea 阅读全文
posted @ 2018-09-27 13:42 bug改了我 阅读(328) 评论(0) 推荐(0)
摘要:所谓依赖注入,我觉得说白了其实就是给成员变量赋值,不管这个成员变量是基本类型还是引用类型,Spring中常用的依赖注入方式有两种: 1、构造器注入 2、setter注入 下面通过代码实例说明这两种注入的实现方式。 一、构造器注入 1、构造注入的原理 构造注入是利用类的构造方法,大部分情况下我们是通过 阅读全文
posted @ 2018-09-26 23:50 bug改了我 阅读(423) 评论(0) 推荐(0)