自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

记录知识、锤炼自我

Spring、Spring Boot、Spring Cloud、DevOps、Redis、Mysql、微服务、云原生、大数据.....你想要的这里都有

  • 博客(696)
  • 资源 (2)
  • 收藏
  • 关注

原创 Jackson 2.x 系列【31】Spring Boot 集成之字典翻译

需要将数值类型翻译为对应的描述,例如性别1应该翻译为男。和上篇的数据脱敏一样,后端可以在数据库查询或者反序列化返回Http响应时进行处理。

2024-04-23 22:51:59 246

原创 Jackson 2.x 系列【30】Spring Boot 集成之数据脱敏

数据脱敏指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。在开发、测试和其它非生产环境以及外包环境中安全地使用脱敏后的真实数据集。例如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。

2024-04-23 22:51:41 367

原创 ShardingSphere 5.x 系列【23】分布式事务 BASE 模式集成 Seata

在上篇文档中,我们介绍了LOCAL 、XA 模式,它们使用起来比较简单,但是并不能完美解决各种分布式事务问题,接下来我们学习ShardingSphere和Seata AT模式的集成。

2024-04-22 14:43:13 124

原创 ShardingSphere 5.x 系列【22】分布式事务 LOCAL 、XA 模式

XA协议是一种分布式事务处理规范,由X/Open组织提出,旨在确保多个资源管理器(如数据库)之间的事务一致性。它规范了事务管理器(TM)与资源管理器(RM)之间的通信接口,为分布式环境中的事务处理提供了一个标准的通信桥梁。

2024-04-22 14:42:51 21

原创 Jackson 2.x 系列【29】Spring Boot 集成之 Redis 序列化/反序列化

Redis是一个常用的高性能非关系型内存数据库,接下来我们学习在Spring Boot中使用Redis时,集成基于Jackson的序列化/反序列化。

2024-04-18 09:14:55 1127

原创 Jackson 2.x 系列【28】Spring Boot 集成之 Long 精度损失

Java直接返回Long整型数据给前端时,JS会自动转换为Number类型,从下面的对比中,可以很直观的看到,当超过JS的整数范围时,该数值会精度损失。

2024-04-17 09:57:37 604

原创 Jackson 2.x 系列【27】Spring Boot 集成之 Null 处理

前后端交互中的序列化/反序列化,可能会因为浏览器、后端运行环境、前后端框架限制等等原因,导致在处理一些特殊数据时,发生异常,我们需要了解这是怎么回事并处理。

2024-04-17 09:56:05 530

原创 Jackson 2.x 系列【26】Spring Boot 集成之 @JsonComponent、@JsonMixin、JsonObjectSerializer

在之前自定义序列化/反序列化器时,都需要我们自己调用API去注册它们,接下来学习Spring Boot中使用@JsonComponent注解进行注册,使用起来更加灵活方便。

2024-04-16 11:19:13 340

原创 Jackson 2.x 系列【25】Spring Boot 集成之起步依赖、自动配置

Spring Boot是当前最流行的Java应用开发框架,简化开发的同时也导致了很多开发人员只会写业务代码,并不太清楚内部组件和配置细节,一旦出问题或者需要性能优化时,就会显得无从下手。所以推荐大家要多学习一下基础的应用框架,了解它们的详细用法和核心原理,不要太依赖于Spring Boot的自动化。接下来我们学习Spring Boot是如何集成的Jackson,并针对开发中常见的问题进行实战演示。

2024-04-16 11:18:33 1579

原创 Jackson 2.x 系列【24】Spring Web 集成

Spring生态使用Jackson作为默认的JSON处理框架,这些年随着Spring的大发异彩和Jackson本身的优越特性,已成为世界上最流行的JSON库。接下来,本系列会讲解Spring MVC、Spring Boot中如何使用Jackson,以及Spring对其进行扩展增强的相关源码,所以需要读者有一定的Spring、Spring Boot开发经验。

2024-04-15 16:07:59 749 1

原创 Jackson 2.x 系列【23】注解内省 AnnotationIntrospector

Annotation注解是JDK 5引入的一种机制,本身只是起到了标注作用,需要使用注解处理器、反射机制在运行时添加对应注解的处理逻辑。 例如Spring中包含了大量的注解,在运行时,Spring容器通过的反射机制获取类的注解信息,并根据这些信息创建和配置Bean对象。在Jackson中也包含了很多注解,用于配置序列化/反序列化行为,那么这些注解是如何生效的呢?

2024-04-15 15:53:27 632

原创 Jackson 2.x 系列【22】自定义序列化/反序列化器

在实际开发中,Jackson核心模块支持了常见类型的数据转换,此外还有很多第三方模块支持不常用的类型,基本已经够用。但是在某些特殊场景下,可能需要支持自定义类型或者转换规则。

2024-04-12 11:12:28 404

原创 Jackson 2.x 系列【21】序列化修饰器 BeanSerializerModifier

Java Bean对象的序列化过程是比较复杂的,因为它可能包含了各种类型的属性,在Jackson中该过程是交由BeanSerializer来负责的。同时Jackson也提供了扩展机制,允许通过BeanSerializerModifier在BeanSerializer的创建过程中进行干预和修改,从而实现对序列化过程的自定义。

2024-04-12 11:10:48 661

原创 Jackson 2.x 系列【20】混合注解 Mixin Annotations

Jackson提供了一种混合注解机制(mix-in annotations),允许开发者在不修改原始类的情况下,为其添加或覆盖特定的注解。

2024-04-11 09:46:01 672

原创 Jackson 2.x 系列【19】模块 Module

Jackson三大核心模块支持标准的JDK类和自定义Java Bean对象和Json之间的互相转换,当需要扩展以支持其他数据类型时,可以使用Module构建自定义的模块并注册到ObjectMapper中。Jackson已经提供了多个扩展模块,在Jackson 2.x 系列【1】概述中已经有讲述过,接下来讲解Module并实现注册自定义模块。

2024-04-11 09:43:33 983

原创 Jackson 2.x 系列【18】序列化器创建工厂 SerializerFactory

在上一篇文档中,我们学习了SerializerProvider负责提供特定类型的序列化器,那么序列化器是如何创建的呢,接下来一起学习SerializerFactory来回应这个问题。

2024-04-10 10:17:32 749

原创 Jackson 2.x 系列【17】序列化器提供者 SerializerProvider

ObjectMapper在执行过程中,需要获取到对应类型的序列化器或反序列化器,然后执行具体操作。例如在序列化时List,需要获取可以序列化List类型的JsonSerializer(序列化器)。这时需要使用到SerializerProvider,它是一个负责提供特定类型序列化器的抽象类,并实现了缓存功能。

2024-04-10 10:15:30 642

原创 Jackson 2.x 系列【16】反序列化器 JsonDeserializer

JsonDeserializer是一个用于将JSON反序列化为任意类型的对象的抽象类,是Jackson中的重要组件之一。

2024-04-08 16:22:05 768

原创 Jackson 2.x 系列【15】序列化器 JsonSerializer

JsonSerializer是一个用于序列化Java对象为JSON的抽象类,是Jackson中的重要组件之一。

2024-04-08 16:21:46 1309

原创 Jackson 2.x 系列【14】特征配置篇之 MapperFeature

在前两篇文档中,我们介绍了jackson-databind模块提供的SerializationFeature、DeserializationFeature特征枚举类,它们主要作用于值的处理,比如数据类型转换、错误处理等,而MapperFeature则用于映射处理,即Java Bean属性和Json属性之前的映射。接下来我们了解MapperFeature中的所有特征,到此,特征配置篇就结束了,

2024-04-07 09:48:02 1024

原创 Jackson 2.x 系列【13】特征配置篇之 DeserializationFeature

接下来,我们分类介绍DeserializationFeature提供的所有特征枚举。DeserializationFeature用于定义了一组影响JSON文本反序列化方式的特性,这些特性既可以通过ObjectMapper设置(作为默认值),也可以通过ObjectReader设置。

2024-04-07 09:47:01 857

原创 Jackson 2.x 系列【12】特征配置篇之 SerializationFeature

在前几篇文档中,我们介绍了很多特征枚举,实际它们比较偏底层,使用的频率并不高,接下来我们介绍业务处理中需要经常用到了的SerializationFeature和DeserializationFeature。之前说过SerializationFeature和DeserializationFeature是jackson-databind包中提供的枚举,其实现的也是绑定模块中的ConfigFeature接口,可以直接在ObjectMapper或JsonMapper对象中配置。

2024-04-02 14:15:19 1146

原创 Jackson 2.x 系列【11】特征配置篇之 JsonWriteFeature、JsonReadFeature

在上上篇文档中,有了解过JsonGenerator.Feature、JsonParser.Feature中的很多枚举项都已经被标记过时,官方对其进行了拆分:JsonReadFeature、JsonWriteFeature(专门处理Json格式)StreamReadFeature、StreamWriteFeature(处理任何格式)

2024-04-02 14:14:45 629

原创 Jackson 2.x 系列【10】特征配置篇之 JsonFactory.Feature、JsonGenerator.Feature、JsonParser.Feature

本篇介绍JsonFactory、JsonGenerator、JsonParser提供的内部枚举类,因为它们是底层API,所以其特征也偏底层处理,实际开发中很少去修改默认配置,对于我们来说,也是了解即可。

2024-04-01 10:58:13 912

原创 Jackson 2.x 系列【9】特征配置篇之总体介绍

除了使用注解的方式,Jackson还提供了很多Feature特征枚举类,用于定制序列化\反序列化行为,接下来的几篇会详细介绍这些特征。

2024-04-01 10:57:52 919

原创 Jackson 2.x 系列【8】注解大全篇四

🙈🙈🙈紧接上篇,接下来我们介绍`jackson-databind`模块提供的所有注解,到这里注解大全篇就结束了。🙈🙈🙈

2024-03-29 09:49:10 1082

原创 Jackson 2.x 系列【7】注解大全篇三

@JacksonAnnotation是一个元注解(作用于其他注解的注解),它的主要作用是标识当前注解是Jackson提供的注解,将来也用于传递一些通用的注解配置。

2024-03-29 09:30:53 866

原创 Jackson 2.x 系列【6】注解大全篇二

@JsonValue用于将整个对象序列化为单个值,常用于只包含单个值的简单对象或枚举类型。Jackson 会忽略对象的其他属性和字段,只序列化由 @JsonValue 注解指定的方法或属性值。

2024-03-28 16:39:06 1047

原创 Jackson 2.x 系列【5】注解大全篇一

在前几篇文档中,我们学习了Jackson中几个非常重要的类,并实现了一些简单的JSON数据转换功能。在实际开发中,可能会遇到的一些个性化要求的场景,而不是简单的一些直接转换,例如,对于null值字段、敏感字段不进行序列化;Long类型的字段需要序列化为String类型(不然返回给前端时会丢失精度)…

2024-03-28 16:38:28 857

原创 Jackson 2.x 系列【4】对象映射器 ObjectMapper

在前两篇文档中,我们学习了JsonGenerator和JsonParser的简单用法,实际开发中很少用到它们,因为它们属于低级API,自由度高但比较复杂。 我们使用最多的还是ObjectMapper,他是jackson-databind数据绑定模块提供面向用户的高级API。

2024-03-20 13:41:44 1867

原创 Jackson 2.x 系列【3】解析器 JsonParser

在上一篇文档中,我们使用JsonGenerator生成了一个JSON文件,接下来我们学习使用JsonParser进行解析。

2024-03-20 13:39:23 858

原创 Jackson 2.x 系列【2】生成器 JsonGenerator

其中jackson-core是核心中的核心,其他模块都需要引入,提供了一些基本的API和公共类,jackson-core中的API可以理解为Low Level API,业务开发人员一般不需要接触,因为有更易用的高级API,低级API更加复杂可读性较差,但是更加灵活,某些场景下能完成高级API做不到的事情。

2024-03-19 17:15:32 1186 1

原创 Jackson 2.x 系列【1】概述

大多数开发场景下,涉及到JSON时,大部分成熟的框架已经帮我们封装好了,比如Spring MVC、Spring Boot,除了需要在业务代码中调用简单API进行JSON转换外,其他时候并不太涉及。所以这也导致了我们对JSON工具的高级用法、执行原理并不太熟悉。所以有必要深入了解一下相关Json工具,以便于我们在性能优化、高级扩展时能够从容应对。

2024-03-19 17:09:55 729

原创 Seata 2.x 系列【12】高可用集群部署

Seata在生产环境应当采用集群部署,主节点宕机后继续正常运行,常见的方式是通过部署多个提供相同服务的节点。不然一旦单机的Seata服务端宕机,接入的业务系统也会变得不可用。

2024-03-15 17:06:07 1227

原创 Seata 2.x 系列【11】多数据源分布式事务

在之前的案例中,我们在Spring Cloud微服务场景下使用Seata解决了分布式事务问题,在单体架构中,单个服务也可能存在跨库导致的分布式事务问题,例如下图中,因为分库导致下单请求需要连接多个数据库进行操作:

2024-03-15 17:05:49 1072

原创 Seata 2.x 系列【10】回滚日志表 undo_log

在AT模式中,需要在参与全局事务的数据库中,添加一个undo_log表,类似于Mysql数据库中的undo log事务回滚日志表,在事务没提交之前,记录分支事务更新前的数据到日志表中,当全局事务需要回滚时,TC发出回滚命令,RM收到后使用undo log进行回退,并删除日志。

2024-03-14 15:55:32 1047

原创 Seata 2.x 系列【9】事务会话存储模式

TC(服务端)作为事务协调者,负责维护全局和分支事务的状态,驱动全局事务提交或回滚。在一次全局事务(分布式事务)会话中,TC需要维护一些会话数据(事务状态和记录),比如全局事务信息、分支事务信息、锁信息等。TC端的作用是保证事务的二阶段被正确执行,这取决于事务记录的正确存储。为确保事务记录不丢失,需要在保持状态正确的前提下,驱动所有的RM执行正确的二阶段行为。

2024-03-14 15:54:57 1007

原创 Seata 2.x 系列【8】Spring Cloud 集成客户端

在前几篇文档中,我们部署好了Seata服务端并集成了Nacos,也搭建了一个微服务项目并实现了电商下单功能,接下来,我们学习如何Spring Cloud集成Seata客户端,并解决分布式事务问题。

2024-03-12 10:05:14 1008

原创 Seata 2.x 系列【7】服务端集成 Nacos 2.x

在前两篇文档中,我们部署了Seata服务端,并基于Spring Cloud Alibaba微服务框架模拟了电商用户下单操作,接下来学习Seata集成Nacos注册中心、配置中心。

2024-03-12 10:04:40 1001

原创 Seata 2.x 系列【6】微服务项目搭建

接下来我们使用Spring Cloud Alibaba 微服务框架,搭建一个测试项目,模拟电商用户下单操作。

2024-03-08 16:18:38 517

jekins汉化插件.zip

jekins汉化插件j

2020-03-24

gcc离线安装包.rar

GCC(GNU Compiler Collection,GNU编译器套件)是由GNU开发的编程语言译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等。) GCC的初衷是为GNU操作系统专门编写的一款编译器。GNU系统是彻底的自由软件。此处,“自由”的含义是它尊重用户的自由

2020-01-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除