前言 在项目开发过程中,经常会对一些字段进行校验,比如字段的非空校验、字段的长度校验,以及定制的校验规则等,如果一个工程中存在这些过度的与业务逻辑无关的代码,会让你的代码变的繁重不堪,繁琐的校验,重复的编码,大大降低了我们的工作的效率,而且准确性还不敢保证。 本篇文章主要对validation-api内置的constraints和hibernate-validator内置的constraints进行了介绍,通过本篇文章的学习,让你在Java项目开发过程中的数据校验变得优雅且高效。 Spring Boot中valid…

2021年9月20日 0条评论 87点热度 阅读全文

LocalDate 、 LocalTime 、 LocalDateTime 是Java 8开始提供的时间日期API,主要用来优化Java 8以前对于时间日期的处理操作。然而,我们在使用Spring Boot或使用Spring Cloud Feign的时候,往往会发现使用请求参数或返回结果中有 LocalDate 、 LocalTime 、 LocalDateTime 的时候会发生各种问题。本文我们就来说说这种情况下出现的问题,以及如何解决。 问题现象 先来看看症状。比如下面的例子: @SpringBootAppli…

2021年8月29日 0条评论 76点热度 阅读全文

完整的微服务解决方案应该包含了微服务所涉及的方方面面,从服务的集中式配置,注册中心,断路器,负载均衡,监控 等模块之后面临的一个问题是如何直观的将微服务集群中的各个服务的状态显示给对"CODE"没有感觉的用户来使用.这当让是生产环境中所必要的,尤其对运维人员来说. 幸运的是Spring Boot 生态链中已经实现了基本的微服务管理WEB  UI,允许我们更直观的观察微服务的运行状态. 该项目 github主页:https://github.com/codecentric/spring-boot-admin…

2021年7月25日 0条评论 52点热度 阅读全文

文章目录 本文讲解如何如何自定义SpringMVC的序列化规则 使用SpringBoot为例,SpringBoot默认使用Jackson作为序列化工具。通过修改Jackson配置即可自定义序列化规则。 方法1 一般需要为第三方java类实现序列化规则使用,这里以boolean转int为例(true/false->1/0),代码如下 // 1 编写自定义序列化类,实现JsonSerializer接口 public class BooleanSerializer extends JsonSerializer<…

2021年7月22日 0条评论 76点热度 阅读全文

在微服务中,实现各个微服务模块之间的Session共享,可以通过 Spring Session 和 Redis 技术实现。 本实例直接在之前的两个微服务中添加同样的配置,然后测试两个接口查看 Session 是否一致。 1、maven 配置,新增下面两个引用。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</a…

2021年6月11日 0条评论 57点热度 阅读全文

1、服务拆分 2、微服务依赖 3、微服务间通信 4、微服务扩容 4.1负载均衡-Ribbon 4.2负载均衡-SLB 5、服务高可用 6、微服务熔断降级 以下例子是服务的雪崩效应 7、微服务监控 7.1 Metrics 监控 7.2 主机监控 7.3 JVM监控 7.4 API调用跟踪 7.5 日志监控 8、微服务安全 8.1 VPC专网 8.2 命名空间 8.3 服务鉴权

2021年6月10日 0条评论 54点热度 阅读全文

笔记 广播式 STS工具新建spring boot项目 使用Thymeleaf和Websocket依赖 pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/PO…

2021年6月9日 0条评论 81点热度 阅读全文

经过慢慢的长路,关于spring boot 源码解析,到了该说再见的时候了,在本系列的揭秘中,有很多可以说是全网独家揭秘的,这个世界其实很奇怪,人们都很喜欢吃快餐,关于spring boot 如何使用的文章,浏览量很高,而关于源码揭秘的,浏览量很低… 后续的规划是继续出几个源码解析的专栏: spring 源码揭秘 spring cache 源码揭秘 spring cloud 源码揭秘 TCC TRACTION 源码揭秘 active mq 源码揭秘 kafka 源码揭秘 HTTPclient 源码揭秘 …

2021年5月5日 0条评论 125点热度 阅读全文

@EnableXXXX编程模型 在spring boot中,@EnableXXX注解的功能通常是开启某一种功能。根据某些外部配置自动装配一些bean,来达到开启某些功能的目的。光说很抽象,要具体分析。 @Enable模型的实现方式基本有3种。一个基本的@Enable注解的模型如下。 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @Import(XXXX.class) public @inter…

2021年5月5日 0条评论 132点热度 阅读全文

最近有空总结一下之前在使用spring boot时遇到过的几种依赖注入时的坑,如果不了解spring内部的处理过程,使用起来总是感觉有种迷糊。 在分析场景前,需要大概了解一下spring对于bean的实例化过程是需要先注册BeanDefinition信息然后才进行实例化,在org.springframework.context.support.AbstractApplicationContext#refresh中定义的基本的流程。部分代码 try { // Allows post-processing of the…

2021年5月5日 0条评论 130点热度 阅读全文