随笔分类 -  Spring_bak

摘要:动态代理实现 Spring底层的动态代理有两种实现方式,一是JDK的动态代理技术,二是Cglib开源框架提供的动态代理技术。 JDK动态代理 JDK的动态代理,必须是基于接口进行代理,也就是我们的目标类必须实现一个接口,才能进行代理。 创建代理的三个要素: 原始对象 额外功能 代理对象和原始对象实现 阅读全文
posted @ 2021-12-13 21:18 残城碎梦 阅读(1851) 评论(0) 推荐(0) 编辑
摘要:循环依赖:就是N个类循环(嵌套)引用。通俗的讲就是N个Bean互相引用对方,最终形成闭环。用一副经典的图示可以表示成这样(A、B、C都代表对象,虚线代表引用关系): 注意:其实可以N=1,也就是极限情况的循环依赖:自己依赖自己 这里指的循环引用不是方法之间的循环调用,而是对象的相互依赖关系。(方法之 阅读全文
posted @ 2021-12-12 12:07 残城碎梦 阅读(576) 评论(0) 推荐(1) 编辑
摘要:ServiceLoader:服务提供者加载器 SPI概念介绍 SPI:Service Provider Interfaces(服务提供者接口)。正如从SPI的名字去理解SPI就是Service提供者接口 SPI定位:给服务提供厂商与扩展框架功能的开发者使用的接口。 比如大名鼎鼎的JDBC驱动,Jav 阅读全文
posted @ 2021-12-11 22:28 残城碎梦 阅读(554) 评论(0) 推荐(0) 编辑
摘要:在阅读Spring源码的时候,经常会遇见一些处理器、提供器之类的组件,有的时候不深入去理解它的含义,确实还读不下去了。 为了方便自己流畅的阅读下去,本文介绍Spring提供的处理组件,尽量的解释清楚它们的作用甚至原理,以便我们能更自由的阅读。 ParameterNameDiscoverer:获取方法 阅读全文
posted @ 2021-12-11 19:05 残城碎梦 阅读(690) 评论(0) 推荐(1) 编辑
摘要:为什么要控制Bean的加载顺序? @Order注解等并不能控制Bean的加载顺序的~~因为Spring在解析Bean的时候,根本就没有参考这个注解。另外@Configuration配置类的加载,也不会受到@Order注解的影响,它拿到配置的数组后,仅仅就是一个for循环遍历去解析。 另外需要说明的一 阅读全文
posted @ 2021-12-11 17:14 残城碎梦 阅读(5482) 评论(0) 推荐(0) 编辑
摘要:在介绍Spring IOC容器的刷新(初始化)过程,以及Spring 容器的Bean的实例化、初始化过程。我们提到了泛型依赖注入,本文就来聊聊Spring是如何做到的。 先来看一个例子: // 准备一个带泛型的Bean @Getter @Setter @NoArgsConstructor @AllA 阅读全文
posted @ 2021-12-11 08:28 残城碎梦 阅读(1044) 评论(0) 推荐(1) 编辑
摘要:先上图: 从截图上可以看到我标红的我们比较熟悉,配置过的一些Filter,他们都继承自OncePerRequestFilter。 该Filter从字面上理解:只执行一次的Filter。可能有人会问了,我们自己写的Filter不都只执行一次吗?为何Spring还要专门提供这么一个类来处理呢? 在Spr 阅读全文
posted @ 2021-12-10 20:15 残城碎梦 阅读(3992) 评论(1) 推荐(1) 编辑
摘要:bean的生命周期指的是bean创建——初始化到销毁的过程。 我们可以自定义初始化和销毁方法;容器在bean进行到当前生命周期的时候来调用我们自定义的初始化和销毁方法。 单实例:在容器启动的时候创建对象多实例:容器不会管理这个bean;容器不会调用销毁方法; Bean生命周期初始化、销毁相关的4种方 阅读全文
posted @ 2021-12-09 23:17 残城碎梦 阅读(297) 评论(0) 推荐(0) 编辑
摘要:Spring是一个非常优秀且流行的框架,里面不乏有很多优秀的设计模式、设计思想。 SimpleAliasRegistry这个类实现了接口AliasRegistry,而这个接口顾名思义:它就是别名管理器。SimpleAliasRegistry就是Spring提供的一个默认实现,其内部会缓存这些别名和真 阅读全文
posted @ 2021-12-09 22:06 残城碎梦 阅读(150) 评论(0) 推荐(1) 编辑
摘要:本文主要聊聊Spring提供的多个关于注解相关的工具类:AnnotationUtils和AnnotatedElementUtils等等。 因为很多逻辑都封装在了工具类里面,因此要理解Spring的深层意思,有时候不了解工具类也是比较麻烦的。虽然说都是Spring内部去使用,但是有些工具类是publi 阅读全文
posted @ 2021-12-08 23:59 残城碎梦 阅读(1373) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-12-04 13:06 残城碎梦 阅读(39) 评论(0) 推荐(0) 编辑
摘要:Spring RestTemplate 是 Spring 提供的用于访问 Rest 服务的客户端,RestTemplate 提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率,所以很多客户端比如 Android或者第三方服务商都是使用 RestTemplate 请求 restfu 阅读全文
posted @ 2021-12-02 10:39 残城碎梦 阅读(329) 评论(0) 推荐(0) 编辑
摘要:-- 阅读全文
posted @ 2021-11-24 21:10 残城碎梦 阅读(40) 评论(0) 推荐(0) 编辑
摘要:1、java.lang.NoSuchFieldError报错解决方案 该问题字面意思,没有找到相应的字段。出现这种问题大多数是因为依赖冲突。 比如spring-data-redis会依赖spring-context-support,而我们创建的Spring项目也会引入spring-context-s 阅读全文
posted @ 2021-11-20 19:19 残城碎梦 阅读(64) 评论(0) 推荐(0) 编辑
摘要:通过Resource接口获取资源 Resource接口的实现类有: Resource接口继承了InputStreamSource 接口,InputStreamSource 接口中有一个方法:getInputStream(),所以汇总起来,Resource接口中共有以下方法: public class 阅读全文
posted @ 2021-11-20 14:40 残城碎梦 阅读(907) 评论(0) 推荐(0) 编辑
摘要:-- 阅读全文
posted @ 2021-11-03 08:47 残城碎梦 阅读(24) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示