
SPRING系列
文章平均质量分 84
从应用和原理两方面给大家详尽的介绍Spring系列
波波烤鸭
10余年架构和线上讲师工作经验。精通Java,微服务和云原生相关,致力于Java技术的免费分享。
展开
-
最新整理Spring面试题2023
Spring面试专题整理原创 2023-02-03 21:43:41 · 4842 阅读 · 2 评论 -
Spring之InstantiationAwareBeanPostProcessor接口介绍
InstantiationAwareBeanPostProcessor接口讲解原创 2019-03-03 20:17:52 · 15161 阅读 · 9 评论 -
Spring之InitializingBean接口和DisposableBean接口介绍
Spring中的生命周期核心方法讲解原创 2019-03-03 23:08:55 · 12507 阅读 · 1 评论 -
这么回答【循环依赖】助力轻松拿下阿里P6
Spring的循环依赖问题原创 2022-09-30 21:18:16 · 678 阅读 · 0 评论 -
不懂Ribbon原理的可以进来看看哦,分析RibbonClientConfiguration完成了哪些核心初始操作
本文在前一篇文章的基础上来继续分析Ribbon的核心内容。不懂Ribbon原理的可以进来看看哦,分析SpringBoot自动装配完成了Ribbon哪些核心操作RibbonClientConfiguration RibbonClientConfiguration是一个非常中的Ribbon配置类,在第一个发起Ribbon请求的时候会完成对应的初始化操作。会完成多个相关的默认设置。接口默认实现描述IClientConfigDefaultClientConfigImpl管理配原创 2021-08-14 15:03:27 · 8571 阅读 · 3 评论 -
不懂Ribbon原理的可以进来看看哦,分析SpringBoot自动装配完成了Ribbon哪些核心操作
前面详细的给大家介绍了SpringBoot的核心内容,有了这部分的基础支持的话,我们再来分析SpringCloud中的相关组件就很容器了,本文我们来给大家开始介绍Ribbon的相关内容,首先来介绍下Ribbon项目在启动的时候完成了哪些操作。一、项目案例准备 首先我们大家案例环境,通过【RestTemplate】来实现服务调用,通过【Ribbon】实现客户端负载均衡操作。1.Order服务 我们的Order服务作为服务提供者。创建SpringBoot项目,并添加相关依赖<?xml原创 2021-08-10 23:33:16 · 7574 阅读 · 5 评论 -
SpringBoot掌握的差不多了,就剩下一个Actuator没搞定了,本文详细来介绍!!!
SpringBoot自动装配原理SpringBoot的自定义StarterActuator(监控)1. Actuator介绍 通过前面的介绍我们明白了SpringBoot为什么能够很方便快捷的构建Web应用,那么应用部署上线后的健康问题怎么发现呢?在SpringBoot中给我们提供了Actuator来解决这个问题。官网地址:https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html Sprin.原创 2021-07-28 20:32:07 · 1705 阅读 · 3 评论 -
掌握了SpringBoot的自动装配原理后你会发现自定义Starter也是非常容易的哦!
在实际项目中我们需要手动来手写Starter组件的场景相对来说还是比较少的,但是对于自定义Starter组件的原理大家还是需要掌握清楚,第一个是增加自己的自信心,第二个是掌握的自动装配的原理后Starter组件的实现其实就是非常简单的事情了。我们通过Redis的客户端程序来给大家介绍。对于Redis服务我们可以使用的Java客户端还是比较多的,但是在SpringBoot项目中我们怎么来使用呢?手写SpringBoot Starter组件1.自定义Starter 创建一个普通的Maven项目,名.原创 2021-07-21 16:38:29 · 18456 阅读 · 10 评论 -
程序员必备技能之SpringBoot的自动装配原理,很详细,建议收藏!!!
SpringBoot应该是每个Java程序猿都会使用的基础框架了,对于SpringBoot的核心内容自动装配原理的掌握就显得非常重要了。自动装配原理分析1 理论介绍 SpringBoot通过自动装配实现了第三方框架系统对象的注入。这种实现机制和我们前面介绍的SPI(服务扩展机制)很相似。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PLWbVo4L-1626854967382)(img\image-20210719203647538.png)]2 源码分析原创 2021-07-21 16:16:22 · 9052 阅读 · 12 评论 -
SPI都不知道?还敢说懂Dubbo?面试官怼的我哑口无言啊!!!
为什么要讲SPI呢?因为在Dubbo就用到了SPI机制,所以掌握了这部分对于后面的学习还是很有帮助的。 SPI ,全称为 Service Provider Interface,是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。这一机制为很多框架扩展提供了可能,比如在Dubbo、JDBC中都使用到了SPI机制。我们先通过一个很简单的例子来看下它是怎么用的。案例介绍 先定义接口项目 然后创建一个扩展的实现,先导入.原创 2021-07-16 21:41:25 · 2884 阅读 · 10 评论 -
花了两天肝出来的Spring注解编程的发展历程,相信对每个小伙伴都会有帮助的,建议收藏哦。
Spring对于每个Java程序员的重要性都是不言而喻的。但是对于Spring的注解编程的发展,我相信有很多小伙伴还是不清楚的,本文就彻底给大家梳理下。Spring注解编程的发展过程1.1 Spring 1.x 2004年3月24日,Spring1.0 正式发布,提供了IoC,AOP及XML配置的方式。 在Spring1.x版本中提供的是纯XML配置的方式,也就是在该版本中我们必须要提供xml的配置文件,在该文件中我们通过 <bean> 标签来配置需要被IoC容器管理的Bean原创 2021-07-14 16:22:20 · 2767 阅读 · 15 评论 -
程序员不得不了解的微服务的现状和未来,建议收藏哦!!!
一、微服务的现状及未来1.服务架构的演变1.1 单体架构 单体架构应该是我们最先接触到的架构实现了,在单体架构中使用经典的三层模型,即表现层,业务逻辑层和数据访问层。 单体架构只适合在应用初期,且访问量比较下的情况下使用,优点是性价比很高,开发速度快,成本低,但缺点也很明显,这时扩展的首先就是考虑服务器的集群处理。1.2 集群 针对单个服务器在访问量越来越大的情况越来越吃力的情况,我们可以考虑服务器的集群话处理。 集群的部署大大提高了服务的处理能力,同时利用Nginx提供的负载均.原创 2021-07-08 15:38:20 · 20876 阅读 · 40 评论 -
Spring相关文章汇总篇【Spring,SpringBoot,SpringCloud等】
因为Spring框架包含的组件比较多,写的博客内容也比较多,虽然有分专栏但是依然不方便查找,所以专门用一篇文章来记录相关文章,会不定期更新。一、Spring1.基础内容Spring介绍Spring-IOC实现【01-XML配置方式】Spring-IOC实现【02-XML配置方式案例】Spring-IOC实现【03-其他实现方式】Java代理模式-AOP必备知识Spring之AO...原创 2019-06-25 22:40:07 · 41445 阅读 · 6 评论 -
SpringSecurity超详细入门介绍
权限管理是我们项目中必不可少的一环,实际项目中我们可以自己设计权限管理模块,也可以使用市面上成熟的权限管理框架,比如 shiro或者 SpringSecurity等,前面已经详细的介绍过了 shiro 的使用,本文开始就给大家详细的来介绍下SpringSecurity的使用。内容包括spring+springmvc基于配置的方式详细介绍SpringSecurityspringboot整...原创 2019-12-02 12:06:54 · 27614 阅读 · 3 评论 -
SpringCache完整案例介绍
Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager 接口来统一不同的缓存技术;并支持使用JCache(JSR-107)注解简化我们开发;Cache接口为缓存的组件规范定义,包含缓存的各种操作集合;Cache接口下Spring提供了各种xxxCache的实现;如RedisCac...原创 2019-11-28 12:51:29 · 18983 阅读 · 1 评论 -
Spring加载流程源码分析01【super】
前面给大家介绍了Spring中的IOC和AOP。本文开始带大家解读下Spring容器加载的过程。我们使用的Spring的版本是4.3.3.RELEASESpring源码分析 初学Spring我们第一个入口代码如下,我们就从这个入口开始探究public static void main(String[] args) { ApplicationContext ac = new C...原创 2019-02-22 00:13:43 · 3094 阅读 · 0 评论 -
Spring事务的传播行为
本文主要介绍下Spring事务中的传播行为。事务传播行为介绍Spring中的7个事务传播行为:事务行为说明PROPAGATION_REQUIRED支持当前事务,假设当前没有事务。就新建一个事务PROPAGATION_SUPPORTS支持当前事务,假设当前没有事务,就以非事务方式运行PROPAGATION_MANDATORY支持当前事务,假设当前没有事...原创 2019-02-23 23:16:29 · 31459 阅读 · 5 评论 -
Spring事务的隔离级别
上篇文章给大家详细的介绍Spring中事务的传播行为,在事务中我们需要关注事务的传播行为和事务的隔离级别这两个点,所以本文给大家介绍下事务的隔离级别事务的隔离级别 事务隔离级别指的是一个事务对数据的修改与另一个并行的事务的隔离程度,当多个事务同时访问相同数据时,如果没有采取必要的隔离机制,就可能发生以下问题:问题描述脏读一个事务读到另一个事务未提交的更新数据...原创 2019-02-23 23:27:28 · 27207 阅读 · 1 评论 -
Spring之BeanPostProcessor(后置处理器)介绍
为了弄清楚Spring框架,我们需要分别弄清楚相关核心接口的作用,本文来介绍下BeanPostProcessor接口BeanPostProcessor 该接口我们也叫后置处理器,作用是在Bean对象在实例化和依赖注入完毕后,在显示调用初始化方法的前后添加我们自己的逻辑。注意是Bean实例化触发的。接口的源码如下public interface BeanPostProcessor {...原创 2019-03-03 13:10:33 · 46208 阅读 · 10 评论 -
Spring之BeanFactoryPostProcessor接口介绍
Spring的BeanFactoryPostProcessor后置处理器讲解原创 2019-03-03 14:14:43 · 3646 阅读 · 1 评论 -
Spring之Aware接口介绍
Spring 中的Aware接口详解原创 2019-03-03 22:47:48 · 8724 阅读 · 2 评论 -
【Spring核心】Bean对象的初始化和销毁方法
Spring核心之Bean对象的初始化和销毁方法原创 2019-03-04 21:19:53 · 4637 阅读 · 0 评论 -
Spring之Bean的生命周期详解
Spring生命周期的讲解原创 2019-03-05 00:18:23 · 39594 阅读 · 2 评论 -
【面试高频】聊聊Spring中用到的设计模式
谈谈你对Spring中使用到的设计模式的理解原创 2019-03-06 17:25:53 · 5013 阅读 · 1 评论 -
Spring之事件监听(观察者模型)
本文介绍下Spring中的事件监听,其本质也就是观察者模型(发布/订阅模式),具体的观察者模式参考下文Java观察者模式(Observer)文章目录Spring事件监听一、事件监听案例1.事件类2.事件监听类3.事件发布者4.配置文件中注册5.测试二、Spring中事件监听分析1. Spring中事件监听的结构2. 核心角色介绍2.1 ApplicationEvent2.2 Appli...原创 2019-03-06 13:57:26 · 3935 阅读 · 0 评论 -
Spring之AOP适配器模式
Spring架构中涉及了很多设计模式,本文来介绍下Spring中在AOP实现时Adapter模式的使用。AOP本质上是Java动态代理模式的实现和适配器模式的使用,关于这两种设计模式的具体介绍烦请参考我之前的文章Java代理模式Java适配器模式(adapter)文章目录Spring中适配器模式一、AOP案例1.相关依赖2.创建目标对象3.创建通知4.配置文件5.测试二、适配器应用解...原创 2019-03-06 16:54:52 · 8714 阅读 · 5 评论 -
Spring介绍
Spring简介说明一个Java应用层程序,是由许多个类组成的,这些类之间必然存在依赖关系,当项目越来越大,依赖关系越来越复杂,需要一个专业的框架来处理类之间的依赖关系,为了解决这个问题,SUN公司推出了EJB(重量级)专门用来解决类的依赖问题。Spring(Spring Framework) 是一个开源框架,最早由Rod Johnson创建,并在《Expert One-on-One:J2E...原创 2019-01-13 10:33:02 · 3851 阅读 · 0 评论