Java
文章平均质量分 50
随心所鱼
这个作者很懒,什么都没留下…
展开
-
FastJson对于序列化及反序列化时实体属性自定解析器
本文记录FastJson对于序列化及反序列化时实体属性自定解析器实现简述使用场景项目在针对实体进行序列化为JSON或者JSON反序列化时,存在自定义字段解析器的需求,最常见的场景为时间属性(标准格式或非标准格式)的序列及反序列化.下文针对该情况,说明如何实现自定时间反序列化解析器.操作步骤1.fastjson版本<dependency> <groupId>com.alibaba</groupId> <artifactId>fast原创 2021-01-13 11:33:02 · 2273 阅读 · 0 评论 -
将Spring Boot 默认的Jackson框架转换为Fastjson
本文记录将Spring Boot 默认的Jackson框架转换为Fastjson的实现方式及注意事项使用场景在用Feign Client 接口调用,由于Jackson对null等特殊值处理存在异常,故改用Fastjson解析数据操作步骤1.增加文件FeignConfig,注入Bean,修改默认Feign默认的解析方式2.由于Fastjson1.2.28后,增加了对Content-type验证,故添加多种MediaType@Configurationpublic class FeignCon原创 2020-06-08 17:51:35 · 595 阅读 · 0 评论 -
Java小知识
本文记录Java小知识,随时会更新工作中的知识点文章目录JavaJava 基础1. 包装类型Integer.getInteger和Integer.valueOf区别Java 容器Java 并发Java 虚拟机Java I/OJavaJava 基础1. 包装类型Integer.getInteger和Integer.valueOf区别Integer类有两个看起来很类似的静态方法,一个是Integer.getInteger(String),另外一个是Integer.valueOf(String).原创 2020-06-08 17:50:36 · 212 阅读 · 0 评论 -
SpringCloud中Feign配置类使用
本文记录SpringCloud中Feign配置的两种方式使用场景目前环境下各系统间接口基本按照Restfull规范制定,Feign作为一个接口客户端,在SpringCloud体系下有定义明晰,开发便捷的优势.同时,针对不同外部服务,我们可以通过自定义Feign的配置,来实现个性化的三方接口管理.本次介绍通过配置文件进行的全局配置及通过配置类的个性化配置两种实现方式技术点SpringCloud Feign客户端SpringCloud Hystrix及Ribbon配置SpringCloud原创 2020-06-08 17:49:12 · 1081 阅读 · 0 评论 -
Spring Async多线程使用
本文记录Spring Async对Java多线程的支持使用场景Java在处理多线程时需要用到线程池及其相关的API,配置较为零散,学习成本较高.Spring提供了便捷的配置类来支持多线程的实现.技术点Java多线程Spring AsyncSpring Async配置类import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration原创 2020-06-08 17:47:42 · 329 阅读 · 1 评论 -
List结构数据组装成树结构实现方式
本文记录List结构数据组装成树结构实现.使用场景通过查询数据库中具有父子关系的结构数据,将获得的List数据转换为Tree结构的数据,一般用于前端多级树展示技术点递归双层for循环高速缓存Map效果展示[{ "id": "1", "name": "广州", "parentId": "0", "children": [{ "id": "3", "name": "天河区", "parentId": "1", "children": [{ "id": "6"原创 2020-06-08 17:45:01 · 4080 阅读 · 1 评论 -
Spring AOP日志记录实现
本文记录Spring AOP日志记录实现.使用场景通过切面编程,为Rest请求记录入参及回参的日志,同时对于整合链路跟踪的项目,记录请求Trace信息技术点@Aspect及其派生的注解使用获取实际客户端Ip工具类链路跟踪相关工具类实现代码链路跟踪Pom依赖: <!-- 链路跟踪模块 --> <dependency> <groupId>org.springframework.cloud</原创 2020-06-08 17:43:00 · 254 阅读 · 0 评论 -
SpringBoot下动态配置文件与Enum的结合使用
本文记录在Spring Boot框架下,动态配置文件与Enum的结合使用的问题.使用场景Enum类作为枚举常量,需要从SpringBoot配置文件(*.yml)中动态获取相关属性技术点@Value注解使用枚举类定义动态注入的参数赋值给静态的枚举常量实现代码静态变量定义:import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;原创 2020-06-08 17:39:52 · 11379 阅读 · 3 评论 -
String.intern()来优化使用Redis
本文记录使用String.intern()来优化使用Redis作为查询缓存的场景.使用场景在一个接口中,该接口被多个线程并发访问,该接口主要做了以下工作:查询的时候是根据广告的类型查询符合该类型的广告,如果查询到广告,那么就返回该类型广告列表。同时,由于请求量比较的大,为了增加查询速度,减轻数据库的负担,我们在该层加入Redis。我们会这样做,首先,我们去Redis查询该类型的广告,如果存在那么就直接返回,如果不存在,那么我们需要为该广告类型加锁,进行锁定,然后进行二次查询Redis(二次判空,保原创 2020-06-08 10:26:32 · 377 阅读 · 0 评论