spring
文章平均质量分 88
编号94530
新时代 积极 向上 奋斗 好 青年
展开
-
(WebFlux)004、WebFilter踩坑记录
1、遇到问题,还是要多看看呀,细细思考一下2、多看代码,发现问题,实现完美的解决方案。原创 2022-09-28 21:53:24 · 1677 阅读 · 1 评论 -
(WebFlux)003、多数据源R2dbc事务失效分析
在使用新东西的时候,还是要多实验,验证结果!遇到问题,不要慌,一步步来,就是干!如有问题,欢迎指正,交流。原创 2022-08-27 20:48:45 · 1763 阅读 · 2 评论 -
(WebFlux)002、如何打印日志与链路ID
先实践,实操,在理解原理。以上为实际实践,如果发现有问题,欢迎指出,交流!原创 2022-08-12 22:34:37 · 1671 阅读 · 0 评论 -
(WebFlux)001、如何自定义注解实现功能
尝试新东西的时候是一个不断探索,学习的过程。多看,多搜,多学。原创 2022-07-24 15:14:32 · 623 阅读 · 1 评论 -
如何在Java中直接使用Hystrix?
最近由于一些背景原因,需要在项目中需要对接口进行限流。所以就考虑到了直接使用Hystrix。但是呢,又不想直接使用SpringCloud,而是直接引入原生,现在发现挺好用的,所以记录下来,分享出来。...原创 2022-06-04 15:45:01 · 581 阅读 · 0 评论 -
SpingWebFlux中WebClient怎么打印日志?
怎么记录WebClient请求的日志呢?原创 2022-05-14 23:04:05 · 1095 阅读 · 1 评论 -
SpringDataRedis序列化带有双引号
1. 背景在使用Spring Data Redis的hash存数据的时发现,如果存值的泛型和取出来的泛型对象不同时,可能存在值不相等。记录下过程与解决方案,避免大家重复踩坑。2. 问题说明情况如下,用图说明。2.1 RedisOpts操作RedisOpts是对RedisTemplate<String,?>进行了一层封装,在用hash操作时,存入的key是test-hash,value是RedisUtils.class.getName(), 取值得时候有两种方式,分别是转化成了Stri原创 2022-03-02 20:07:29 · 2020 阅读 · 2 评论 -
Spring是如何自动注入多类型
抓住10月月末的小尾巴, 一探SpringBean内部字段是如何注入多类型的时常有个小问题围绕着我,Spring是如何给字段字符装盘,为何支持Collection、List、Map、String等这么多类型的呢?在Spring注入的过程中,有没有什么小技巧值得我们学习呢?带着这个疑惑,我们来一探究竟。本文基于SpringBoot V2.5.6, Spring V5.3.12。不同版本可能会有不同,请注意哈想要弄懂上面的问题,有一个小小的要求,那就是要弄懂SpringBean的生命周期(如和Get原创 2021-10-31 21:12:45 · 294 阅读 · 1 评论 -
SpringBoot之Feign调用方式比较
一:事发原因 两个东家都使用SpringCloud,巴拉巴拉用上了Spring全家桶,从eureka到ribbon,从ribbon到feign,从feign到hystrix,然后在使用feign的时候发现使用方式不同,仔细一看这种调用方式,唉,麻烦,我怎么要自己定义DTO,自己定义Fallback, 自己定义方法呢?用上之后,其实发现各有各的好处,今天就来一一记录一下。二:方式1介绍...原创 2019-07-14 22:20:34 · 1353 阅读 · 2 评论 -
RestTemplate打印日志的正确姿势
背景现在随着微服务的逐渐发展,越来越多的公司开始采用微服务架构,但随之而来的问题是,服务间如何调用,如何还能负载均衡,还必须开箱即用?答案就是Spring的RestTemplate啦(并不一定要使用RestTemplate,也不一定要是微服务架构,涉及到Http调用的服务,方式都可以,我这个是为了引出主题),但伴随而来的是一个问题,如何打印好日志,留下现场(防止扯皮),这才是我们关心的。这也是我们这篇文章的主题-RestTemplate打印日志的正确姿势。好了,不凑字数了,接下来进入正文。1. 老实人干原创 2021-06-22 20:15:08 · 3341 阅读 · 4 评论 -
OpenFeign和Consul爱恨交织的两天
1. 背景在公司对项目进行拆分,用consul做注册中心。既然弄注册中心了, 那就得远程调用,那就得整上OpenFeign进行远程调用,你说是不? 不能说就搞个RestTemplate+服务名调用吧?想法有了,说动就动,就对项目就行拆分,在拆分的过程中,就把我学到的拿出来和大家分享分享。(我也是第一次用consul,没啥经验)2. 爱与恨2.1 恨2.1.1 远程调用失败在信息远程接口调用时,一直抛出异常:Load balancer does not have available server f原创 2020-11-19 22:35:38 · 682 阅读 · 0 评论 -
Nacos如何实现服务自动注册
1. 背景接着上次的说,Nacos问题的分析。这次就来分享一下自己的分析方法。以及如何利用Spring事件完成服务注册。2. 分析一下2.1 问题分析过程问题是这样的,我以为是Nacos服务注册不上吗? 那就肯定是注册有问题了, 那就去找是服务是如何注册的。关键是从哪找呢?具体步骤:知道服务启动方式。如Nacos,就是通过properties,那就找哪有用到启动的属性文件项目用SpringBoot集成,那核心类的加载就在Spring.factories中。(这个文件会被springSPI加载原创 2020-09-19 22:52:56 · 3149 阅读 · 0 评论 -
Spring事件执行流程源码分析
1. 背景为啥突然想到写这个?起因就是看到了Nacos的#3757 ISSUE,理解错误, 以为是服务启动,没有注册上服务,实际namespace不同,导致服务无法注册。 但这丝毫不影响再去研究了一波代码,顺便也看到了Nacos是如何利用Spring的事件来进行服务注册的。分享一波,欢迎大家学习指正!2. 娓娓道来 - Spring事件2.1 怎么发布事件我们大家应该都知道,在Spring中,是通过实现org.springframework.context.ApplicationEventPubli原创 2020-09-13 22:35:06 · 146 阅读 · 0 评论 -
springbean的生命周期
1. 背景有的大兄弟目前还停留在使用spring的过程,对spring的核心Bean还没有什么了解。今天就和大家从springBean的生命周期入手。2. 什么是生命周期生命周期就是指一个对象的生老病死。 嗯, 解释的很生动,形象。springBean的生命周期也就是一个Bean从出生,到死亡的过程。3. Show code3.1 入口入口: org.springframework.beans.factory.BeanFactory#getBean, 有时候,我们看代码并不是难事, 难的是如原创 2020-06-27 12:10:48 · 912 阅读 · 0 评论 -
01 AutoConfigurationImportSelector到底怎么初始化
1. 前言我们知道,在spring中,一般的实现ImportSelector接口,然后重写selectImports方法,就可以使用到spring的SPI技术,加载spring.factories中配置的org.springframework.boot.autoconfigure.EnableAutoConfiguration.EnableAutoConfiguration的类。抱着测试的心态,给@SpringBootApplication的注解上实现的SelectorAutoConfiguration原创 2020-05-27 11:35:14 · 3809 阅读 · 3 评论