![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
文章平均质量分 87
yygr
这个作者很懒,什么都没留下…
展开
-
hystrix - @EnableCircuitBreaker那些事
https://segmentfault.com/a/1190000039087143@EnableCircuitBreaker我们使用hystrix的时候,都会在application上使用@EnableCircuitBreaker注解,我们看看这个主键到底做了什么事情。他import了EnableCircuitBreakerImportSelector,看到ImportSelector我们应该会联想到,他后面可能有某些bean会被注入到IOC容器中。@Target(ElementTy转载 2022-04-05 10:16:06 · 2744 阅读 · 0 评论 -
JPA、Hibernate、Spring data jpa之间的关系,终于明白了
https://my.oschina.net/u/3080373/blog/1828589什么么是JPA?全称Java Persistence API,可以通过注解或者XML描述【对象-关系表】之间的映射关系,并将实体对象持久化到数据库中。为我们提供了:1)ORM映射元数据:JPA支持XML和注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中;如:@Entity、@Table、@Column、@Transient等注解。2)JPA 的A.转载 2022-04-04 15:55:27 · 141 阅读 · 0 评论 -
感觉Swagger功能不够强大?knife4j这款神器了解一下....
https://blog.csdn.net/weixin_36380516/article/details/1046042571.概览knife4j是为JavaMVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望她能像一把匕首一样小巧、轻量、并且功能强悍!knife4j的前身是swagger-bootstrap-ui,为了契合微服务的架构发展,由于原来swagger-bootstrap-ui采用的是后端Java代码+.转载 2022-04-04 15:50:45 · 511 阅读 · 0 评论 -
spring-boot-configuration-processor依赖的作用
https://www.cnblogs.com/tonglin0325/p/5344129.htmlspring-boot-configuration-processor的作用是生成配置的元数据信息,即META-INF目录下的spring-configuration-metadata.json文件,从而告诉spring这个jar包中有哪些自定义的配置1.其中spring-configuration-metadata.json文件是在编译的时候自动生成的2.还可以在resources目录下转载 2022-04-04 15:37:32 · 2787 阅读 · 2 评论 -
SpringBoot使用@ControllerAdvice注解
https://blog.csdn.net/CharlesYooSky/article/details/106332283@ControllerAdvice,是Spring3.2提供的新注解,它是一个Controller增强器,可对controller中被 @RequestMapping注解的方法加一些逻辑处理。主要作用有一下三种· 通过@ControllerAdvice注解可以将对于控制器的全局配置放在同一个位置。· 注解了@ControllerAdvice的类的方法可以使用@Except转载 2022-04-04 11:27:39 · 1614 阅读 · 0 评论 -
SpringCloud-Gateway组件使用
https://www.cnblogs.com/mengd/p/14141223.html1.什么是服务网关1.说明 网关统一服务入口,可方便实现对平台众多服务接口进行管控,对访问服务的身份认证、防报文重放与防数据篡改、功能调用的业务鉴权、响应数据的脱敏、流量与并发控制,甚至基于API调用的计量或者计费等等。 网关 = 路由转发 + 过滤器路由转发:接收一切外界请求,转发到后端的微服务上去;在服务网关中可以完成一系列的横切功能,例如权限校验、限流以及监控等,这些都可以通过过滤器.转载 2022-04-04 10:08:36 · 529 阅读 · 0 评论 -
SpringBoot学习(九)——Spring Boot Admin使用
https://blog.csdn.net/u010139373/article/details/1076007581.简介1.1 概述Spring Boot Admin is a community project to manage and monitor your Spring Boot ® applications. The applications register with our Spring Boot Admin Client (via HTTP) or are disco转载 2022-04-04 08:51:18 · 2605 阅读 · 0 评论 -
SpringMVC系列:HandlerMapping初始化
https://blog.csdn.net/csdn_20150804/article/details/103943435文章目录 1.HttpServletBean#init() 2.DispatcherServlet#onRefresh(ApplicationContext context) 3.WebMvcAutoConfiguration初始化配置 4.RequestMappingHandlerMapping初始化 基于s转载 2022-03-31 08:46:24 · 516 阅读 · 0 评论 -
SpringCloud各个组件说明及发音
https://blog.csdn.net/lijingjingchn/article/details/1034698771. 前言对于SpringCloud来说,首先我们需要认识一些基本的组件,这会让我们之后的讨论和交流更有效率。2. 组件名字和发音如果你都不知道别人再说什么,或者别人都不知道你再讲什么,就很尴尬了。Eureka [jʊ'ri:kə] Ribbon [ˈrɪbən] Feign [fen] Hystrix [hɪst'rɪks] Zuul [zulu] S转载 2022-03-28 20:31:40 · 245 阅读 · 0 评论 -
请问Spring是怎么解决Bean之间的循环依赖的?
https://www.zhihu.com/question/276741767循环依赖,其实就是循环引用,就是两个或者两个以上的 bean 互相引用对方,最终形成一个闭环,如 A 依赖 B,B 依赖 C,C 依赖 A循环依赖,其实就是循环引用,就是两个或者两个以上的 bean 互相引用对方,最终形成一个闭环,如 A 依赖 B,B 依赖 C,C 依赖 ASpring循环依赖的情况有两种:构造器的循环依赖,field属性的循环依赖对于构造器的循环依赖,Spring 是无法解决的,只能抛出.转载 2022-03-28 15:36:02 · 242 阅读 · 0 评论 -
Spring Bean 解决循环依赖为什么需要三级缓存
https://www.cnblogs.com/asker009/p/14376955.htmlSpring Bean 循环依赖为什么需要三级缓存这里指的是单例的、非构造依赖的循环引用。很多人都知道Spring用了三层缓存来解决循环依赖,但是不知道其原因,为什么是三级缓存?二级缓存不行吗?一级缓存不可以 ?三级缓存Spring 解决循环依赖的核心就是提前暴露对象,而提前暴露的对象就是放置于第二级缓存中。缓存的底层都是Map,至于它们属于第几层是由Spring获取数据顺序以及其作用来表转载 2022-03-28 15:32:13 · 247 阅读 · 0 评论 -
CGLIB生成的代理类详解
https://blog.csdn.net/P19777/article/details/103998918此前一直有一个疑惑,那就是为什么[CGLIB](https://so.csdn.net/so/search?q=CGLIB&spm=1001.2101.3001.7020)生成代理类的时候会出现三个class文件,按道理说应该只有一个,多出来的两个类怎么回事?其实多出来的这两个class类就是为CGLIB中重要的fastClass机制而生成的。## 实验```javapub转载 2022-03-25 17:17:30 · 1733 阅读 · 0 评论 -
SpringAOP如何给通知advice排序
https://blog.csdn.net/qq_22167989/article/details/83962954转自:Spring源码-AOP(九)-Advice排序 - 青离的个人空间 - OSCHINA - 中文开源技术交流社区在使用SpringAOP时,有时会有在同一切入点存在多个Advice的情况出现,这里的多个Advice可能是不同的Advice,比如后置增强和环绕增强,也可能是多个相同的Advice,比如多个后置增强,甚至是更复杂的情况。因而就存在一个需求:不同Advice.转载 2022-03-25 17:07:40 · 363 阅读 · 0 评论 -
Spring的声明式事务模型
https://zhuanlan.zhihu.com/p/41864893组内每周都有技术分享,轮着来,人人有份。上次分享了Spring的统一事务模型,这次聊聊Spring的声明式事务模型。和上次一样,把屁屁踢整理成文稿,和诸君共食。难度一般,老少咸宜。关注微信公众号Bridge4You,回复Spring事务,即可获取这两次分享的keynote和ppt。什么是Spring的声明式事务声明式事务,其实就是我们常用的@Transactional注解。加了个注解,马上就有了事务转载 2022-03-25 16:26:51 · 205 阅读 · 0 评论 -
spring事务配置的五种方式
https://blog.csdn.net/m8396017/article/details/51615806spring事务配置的五种方式第一种方式:每个Bean都有一个代理第二种方式:所有Bean共享一个代理基类第三种方式:使用拦截器第四种方式:使用tx标签配置的拦截器第五种方式:全注解前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只..转载 2022-03-25 16:20:58 · 3631 阅读 · 0 评论 -
Spring事务注解@Transactional原理解析
https://zhuanlan.zhihu.com/p/141102728事务管理是应用系统开发中必不可少的一部分,而Spring则为事务管理提供了丰富的功能支持.在讲解其实现原理前,我们先来看看使用Spring的事务管理机制给我们带来的好处:它极大减少了样板式代码,提高了代码的清晰性和可维护性.我这样讲你可能没什么感觉,下面我通过原生的jdbc事务处理代码例子,以及Spring的事务处理代码例子来突出说明这个好处.先建立三张表,表字段如下:需求是要往这三张表保存数据,保存顺序是c转载 2022-03-25 14:04:55 · 1352 阅读 · 0 评论 -
源码解析Spring AOP的加载与生效
https://www.cnblogs.com/guoxiaoyu/p/15230623.html 本次博主主要进行Spring AOP这里的解析,因为在工作中使用后,却不知道背后的实现原理并在使用的过程中发现了一些认知缺陷,所以决定写这么一篇文章以供大家参考参考,进入正题。 本次博主使用了@Aspect、@Around、@PointCut注解实现了一些小的需求,大家想必都用过,我就简单的举个例子吧。 1 @Aspect 2 @Component 3 public class转载 2022-03-25 13:59:35 · 586 阅读 · 0 评论 -
@Aspect 注解使用详解
https://blog.csdn.net/fz13768884254/article/details/83538709AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发转载 2022-03-25 13:43:17 · 892 阅读 · 0 评论 -
SpringBoot CGLIB AOP解决Spring事务,对象调用自己方法事务失效.
https://www.cnblogs.com/sweetchildomine/p/6978037.html对于像我这种喜欢滥用AOP的程序员,遇到坑也是习惯了,不仅仅是事务,其实只要脱离了Spring容器管理的所有对象,对于SpringAOP的注解都会失效,因为他们不是Spring容器的代理类,SpringAOP,就切入不了当然可以使用原生ASPECTJ,不用SpringAOP,但是基于生态链问题,还是尽量使用SpringAOP这里简单说一下,Spring如何选择使用CGLIB,或者是转载 2022-03-25 13:02:20 · 935 阅读 · 0 评论 -
SpringBoot自动配置原理&内嵌tomcat启动及DispatchServlet加载时机
https://blog.csdn.net/qq_39364985/article/details/116998689目录一.概述二.SpringBoot环境三.自动配置原理三. 内嵌Tomcat的启动时机一.概述SpringBoot简单来说就是是对spring,springmvc的一个高级封装,根据spring自己的spi机制加载spring.factories文件里的各种配置类。一个仅依赖web环境的spirngboot项目,Springboot的启用原理可以概述为以转载 2022-03-24 15:11:09 · 1416 阅读 · 0 评论 -
Spring Boot嵌入式Servlet容器自动配置原理
https://blog.csdn.net/caychen/article/details/80346331其中EmbeddedServletContainerAutoConfiguration是嵌入式Servlet容器的自动配置类,该类在spring-boot-autoconfigure-xxx.jar中的web模块可以找到。@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE)@Configuration@Conditio转载 2022-03-24 14:52:26 · 523 阅读 · 0 评论 -
SpringBoot内置tomcat启动原理
https://www.cnblogs.com/sword-successful/p/11383723.html前言不得不说SpringBoot的开发者是在为大众程序猿谋福利,把大家都惯成了懒汉,xml不配置了,连tomcat也懒的配置了,典型的一键启动系统,那么tomcat在springboot是怎么启动的呢?内置tomcat开发阶段对我们来说使用内置的tomcat是非常够用了,当然也可以使用jetty。<dependency> <groupId>o转载 2022-03-24 14:49:32 · 956 阅读 · 0 评论 -
Spring SPI 机制总结
https://www.cnblogs.com/ocean234/p/14721131.html1、概念: SPI(Service Provider Interface)服务提供接口,简单来说就是用来解耦,实现插件的自由插拔,具体实现方案可参考JDK里的ServiceLoader(加载classpath下所有META-INF/services/目录下的对应给定接口包路径的文件,然后通过反射实例化配置的所有实现类,以此将接口定义和逻辑实现分离) Spring在3.0.x的时候就已经引...转载 2022-03-24 12:42:28 · 1466 阅读 · 0 评论 -
SpringBoot源码分析之条件注解的底层实现
https://www.jianshu.com/p/c4df7be75d6eSpringBoot内部提供了特有的注解:条件注解(Conditional Annotation)。比如@ConditionalOnBean、@ConditionalOnClass、@ConditionalOnExpression、@ConditionalOnMissingBean等。条件注解存在的意义在于动态识别(也可以说是代码自动化执行)。比如@ConditionalOnClass会检查类加载器中是否存在对应的类,如转载 2022-03-24 10:05:44 · 332 阅读 · 0 评论 -
谈谈Spring对于@Configuration的Cglib代理
https://www.cnblogs.com/daihang2366/p/15125874.html1、现象众所周知,Spring中配置类是用来代替配置文件的,在老一些的日子里面我们使用XML配置,而如今大多使用JavaBean的方式配置。一个简单的配置类如下: @Configuration @ComponentScan("com.dh") publicclassAppConfig{ @Bean publicEnti...转载 2022-03-23 22:08:59 · 485 阅读 · 0 评论 -
解析Spring中@Bean的实现原理
https://blog.csdn.net/CSDN_WYL2016/article/details/108223930文章目录 介绍 如何扫描到@Bean注解的 refresh入口 BeanFactoryPostProcessor 核心解析流程 流程梳理 如何注入@Bean实例的 处理factoryMethodName属性 实例化 总结 介绍在转载 2022-03-23 19:40:02 · 529 阅读 · 0 评论 -
@ImportResource()注解的使用
https://blog.csdn.net/weixin_44893467/article/details/107106180@ImportResource注解用于导入Spring的配置文件,让配置文件里面的内容生效;(就是以前写的[springmvc](https://so.csdn.net/so/search?q=springmvc&spm=1001.2101.3001.7020).xml、applicationContext.xml)Spring Boot里面没有Spring的配置文转载 2022-03-23 12:55:48 · 220 阅读 · 0 评论 -
@PropertySource配置的用法
https://blog.csdn.net/qq_37312838/article/details/108237678功能 加载指定的属性文件(*.properties)到 Spring 的 Environment 中。可以配合 @Value 和 @ConfigurationProperties 使用。 @PropertySource 和 @Value 组合使用,可以将自定义属性文件中的属性变量值注入到当前类的使用@Value注解的成员变量中。 @PropertySou转载 2022-03-23 12:34:28 · 331 阅读 · 0 评论 -
@Import注解的作用与使用
https://blog.csdn.net/mamamalululu00000000/article/details/86711079目录 1.简介 2.源码解析 2.1 导入配置的三种类型 2.2 源码解释 3、测试例子 3.1 导入普通类 3.2 导入带有@Configuration的配置类 3.3 通过ImportSelector 方式导入的类 3.4 通过 Impo转载 2022-03-23 10:39:00 · 248 阅读 · 0 评论 -
@Import注解的作用与原理
https://www.cnblogs.com/grasp/p/11906642.html在@Import注解的参数中可以填写类名,例如@Import(Abc.class),根据类Abc的不同类型,spring容器有以下四种处理方式:1. 如果Abc类实现了ImportSelector接口,spring容器就会实例化Abc类,并且调用其selectImports方法; 2. DeferredImportSelector是ImportSelector的子类,如果Abc类实现了DeferredIm转载 2022-03-23 10:36:45 · 214 阅读 · 0 评论 -
ImportSelector与DeferredImportSelector的区别(spring4)
https://blog.csdn.net/boling_cavalry/article/details/82555352在使用@Import注解来注册bean的时候,Import注解的值可以是ImportSelector或者DeferredImportSelector的实现类,spring容器会实例化这个实现类,并执行其selectImports方法,那么问题来了:ImportSelector和DeferredImportSelector的区别在哪里,我们自定义Imort逻辑的时候该选择哪个呢?本文通转载 2022-03-23 10:28:31 · 241 阅读 · 0 评论 -
默认PostProcessor的加载过程解析
默认PostProcessor的加载 - 知乎前言做了几章的铺垫,介绍了BeanDefinition,BeanFactory,PostProcessor。那么这三样是如何串联在一起,PostProcessor又是怎么调用的呢?在说PostProcessor怎么调用的之前,先说说是Spring怎么加载默认的PostProcessor。PostProcessor以注解配置方式来分析。加载 PostProcessor一开始,往AnnotationConfigAppli...转载 2022-03-22 16:06:00 · 153 阅读 · 0 评论 -
Spring源码剖析之AbstractApplicationContext抽象类的refresh()方法
Spring源码剖析之AbstractApplicationContext抽象类的refresh()方法 - 简书Spring中AbstractApplicationContext抽象类的refresh()方法是用来刷新Spring的应用上下文的。下面Spring的应用上下文我都叫作context@Override public void refresh() throws BeansException, IllegalStateException { synchroni转载 2022-03-22 13:52:49 · 534 阅读 · 0 评论 -
Springboot - 包扫描原理解析
Springboot - 包扫描原理解析_有机后浪的博客-CSDN博客_spring扫描包原理Spring中的包扫描在Spring中bean的注入有两种方式:自定义bean:xml或配置类 注解,设置自动扫描Spring中xml配置文件:**配置类:**在类上加注解@Configuration,将类设置为配置类代替xml配置文件由程序员手动设置bean是比较繁琐的,Spring又提供了偷懒的方法注解、自动扫描:在springmvc.xml中<context:comp转载 2022-03-22 12:57:51 · 4354 阅读 · 2 评论 -
Spring Boot-延迟依赖注入
Spring Boot-延迟依赖注入_绅士jiejie的博客-CSDN博客_延迟依赖注入有一个接口类Animal,如下:public interface Animal { }123接口类Animal有一个实现类Cat,如下:import org.springframework.stereotype.Service;@Servicepublic class Cat implements Animal { public Cat() { Sy...转载 2022-03-22 11:07:59 · 844 阅读 · 0 评论 -
Spring Bean 加载 - BeanDefinitionReader
07.Spring Bean 加载 - BeanDefinitionReader - 沫小淘 - 博客园基本概念BeanDefinitionReader,该接口的作用就是加载 Bean。在 Spring 中,Bean 一般来说都在配置文件中定义。而在配置的路径由在 web.xml 中定义。所以加载 Bean 的步骤大致就是: 加载资源,通过配置文件的路径(Location)加载配置文件(Resource) 解析资源,通过解析配置文件的内容得到 Bean。 下面来看它的接.转载 2022-03-13 19:33:51 · 181 阅读 · 0 评论 -
Spring AOP的实现原理 ?
Spring AOP的实现原理 ? - 知乎AOP的实现,最关键的有两步:得到代理对象 利用递归责任链执行前后置通知及目标方法IOC容器初始化时,对于涉及AOP操作的目标类,其实Spring返回的是代理对象,而不是目标类的实例。至于Spring是如何创建AOP代理对象的,这里不做讨论,我们只讨论得到代理对象后的链式调用流程。代理对象proxy其实包含了很多东西,比如:目标对象 增强器 ...之前我曾经写过一篇动态代理相关的回答:Java 动态代理作用是什么?大概就是讲了..转载 2022-03-11 17:00:50 · 1719 阅读 · 0 评论 -
SpringBoot应用篇:自定义starter
https://www.cnblogs.com/hello-shf/p/10864977.html目录1、新建一个工程 2、pom依赖 3、定义一个实体类映射配置信息 4、定义一个Service 5,定义一个配置类 6、最重要的来了 7、测试一、码前必备知识1、SpringBoot starter机制 SpringBoot中的starter是一种非常重要的机制,能够抛弃以前繁杂的配置,将其统一集成进starter,应用者只需要在maven中引入starter依赖,..转载 2022-03-09 11:08:06 · 1089 阅读 · 0 评论 -
一文读懂 Spring Bean 的生命周期
https://riemann.blog.csdn.net/article/details/118500805?spm=1001.2014.3001.5502一、前言今天我们来说一说 Spring Bean 的生命周期,小伙伴们应该在面试中经常遇到,这是正常现象。因为 Spring Bean 的生命周期是除了 IoC、AOP 几个核心概念之外最重要概念,大家务必拿下。可 Spring 源代码又比较复杂,跟着跟着就不知道跟到哪里去了,不太好拿下呀。这倒是真的,而且网上一上来就各种贴流程源码,对初学者来转载 2022-03-08 16:29:56 · 102 阅读 · 0 评论 -
Spring-ApplicationContext解读
https://blog.csdn.net/yangshangwei/article/details/74937778 BeanFactory和ApplicationContext BeanFactory概述 解读BeanFactory的类体系结构 初始化BeanFactory BeanFactory和ApplicationContextSpring通过一个配置文件描述Bean和Bean之间的依赖关系,利用Java反射功能实例化Bean,并建立Bean之间的依转载 2022-03-06 15:28:18 · 234 阅读 · 0 评论