java
文章平均质量分 59
zhou_zhao_xu
这个作者很懒,什么都没留下…
展开
-
guave eventBus初使用
guava eventBus初使用原创 2023-03-24 17:04:05 · 455 阅读 · 1 评论 -
springboot测试测试用例,当@Configuration注解的类和测试环境不一致时解决办法
springboot测试问题解决原创 2022-11-29 14:06:09 · 568 阅读 · 0 评论 -
JSON出现双引号变成转义字符"
双引号变成转义字符"解决原创 2022-11-23 15:42:32 · 1727 阅读 · 0 评论 -
使用同一个接口实现不同登录的方式
内部接口实现不同的登录方式原创 2022-07-22 09:52:23 · 328 阅读 · 0 评论 -
手机号码校验正则表达式
使用正则校验手机号原创 2022-07-13 11:09:00 · 1766 阅读 · 0 评论 -
java代码生成密钥
在代码中生成rsa密钥对原创 2022-06-08 16:04:27 · 1293 阅读 · 0 评论 -
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception
异常信息2022-04-26 16:09:42.307 INFO 1 --- [nio-8080-exec-1] c.n.l.DynamicServerListLoadBalancer : DynamicServerListLoadBalancer for client OperationServiceI initialized: DynamicServerListLoadBalancer:{NFLoadBalancer:name=OperationServiceI,current list of Ser原创 2022-04-26 17:49:49 · 403 阅读 · 0 评论 -
@RestController实现@FeignClient接口时出现的问题
fegin 接口package com.xxx.api;import org.springframework.cloud.openfeign.FeignClient;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.Re原创 2022-04-26 17:35:56 · 1746 阅读 · 0 评论 -
java判断两个文件是否相同
文章目录方式一:方式二:方式一:将文件一次性读入内存,然后通过MessageDigest进行MD5加密,最后再手动将其转换为16进制的MD5值。 /** * 计算文件的MD5值 * * @param file * @return */ public static String getFileMD5(File file) { if (!file.isFile()) { return null;原创 2021-11-24 09:16:52 · 5548 阅读 · 0 评论 -
java递归计算阶乘
@SpringBootTestclass TestApplicationTests { @Test public void factorialTest() { for (int counter = 0; counter <= 10; counter++) { System.out.printf("%d! = %d\n", counter, recursiveFactorial(counter));原创 2021-09-03 14:59:52 · 131 阅读 · 0 评论 -
十六、SpringCloud Alibaba Seata 处理分布式事务
文章目录1. 分布式事务问题1.1 分布式之前1.2 分布式之后2. Seata简介2.1 是什么2.2 能做什么2.3 怎么用3. Seata-Server安装4. 订单/库存/账户业务数据库准备5. 订单/库存/账户业务微服务准备6. 测试7. 补充1. 分布式事务问题1.1 分布式之前单机库存没有这个问题从 1:1 -> 1:N -> N:N1.2 分布式之后单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用三个独立的数据源,业务操作需要调用三个原创 2021-08-20 15:09:59 · 823 阅读 · 0 评论 -
十五、SpringCloud Alibaba Sentinel 实现熔断与限流
文章目录1. Sentinel 简介1.1 官网:1.2 比较1.3 是什么1.4 下载地址1.5 能干嘛1.6 怎么用:解决哪些问题2. 安装Sentinel控制台2.1 sentinel组件有两部分构成2.2 安装步骤3. 初始化演示工程3.1 在父项目中创建 cloud-alibaba-sentinel-service8401 服务module1. 修改pom2. 编写 yaml4. 编写主启动类和业务类5. 启动测试4. 流控规则4.1 基本介绍4.2 流控模式4.3 流控效果5. 服务降级6. 热原创 2021-08-18 17:11:31 · 1563 阅读 · 0 评论 -
springboot整合quartz实现定时任务
文章目录1. 创建springboot项目,引入相关依赖2. 创建需要执行的定时任务3. 编写 Quartz 配置类4. 启动主启动类测试1. 创建springboot项目,引入相关依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot原创 2021-08-12 09:45:21 · 112 阅读 · 0 评论 -
ES RestHighLevelClient 简单使用
文章目录1. 新建springboot项目,引入依赖2. 配置 yaml3. 编写 ES配置类4. 使用 junit5 测试1. 新建springboot项目,引入依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data原创 2021-08-12 09:32:55 · 633 阅读 · 0 评论 -
十四、SpringCloud Alibaba Nacos 服务注册和配置中心
文章目录SpringCloud Alibaba入门简介1. 是什么2. 能干什么3. 怎么玩SpringCloud Alibaba Nacos服务注册和配置中心1. Nacos 简介2. 安装并运行 Nacos3. Nacos作为服务注册中心演示3.1 基于Nacos的服务提供者在父项目中创建 cloud-alibaba-provider-payment9001 生产者服务module1. pom2. 编写 yaml 配置文件3. 编写主启动类和业务类4. 启动测试5. 根据9001新建9002,测试负载均原创 2021-08-09 15:22:21 · 1128 阅读 · 0 评论 -
十三、Spring Cloud 微服务之 SpringCloud Sleuth 分布式请求链路跟踪
文章目录SpringCloud Sleuth 分布式请求链路跟踪1. 概述1.1 为什么会出现这个技术?需要解决哪些问题?1.2 是什么1.3 解决2. 搭建链路监控步骤2.1 zipkin 需安装使用1. 访问控制台2. 术语2.2 服务提供者1. 在父项目中创建 cloud-provider-sleuth9001 生产者服务module2.3 服务消费者1. 在父项目中创建 cloud-consumer-sleuth80 消费者服务module2.4 测试SpringCloud Sleuth 分布式请原创 2021-08-05 18:12:19 · 239 阅读 · 0 评论 -
十二、SpringCloud 微服务之SpringCloud Stream 消息驱动
文章目录SpringCloud Stream 消息驱动1. 消息驱动概述1.1 是什么1.2 设计思想1. 标准的MQ2. 为什么用CloudStream3. Stream中的消息通讯方式遵循了发布-订阅模式1.3 Springcloud Stream标准流程套路1.4 编码API和常用注解2. 案例说明2.1 RebbitMQ环境已经OK2.2 新建三个子模块3. 消息驱动之生产者3.14. 消息驱动之消费者5. 分组消费与持久化SpringCloud Stream 消息驱动1. 消息驱动概述1.1原创 2021-08-05 16:04:51 · 730 阅读 · 0 评论 -
十一、SpringCloud 微服务之SpringCloud Bus 消息总线
文章目录SpringCloud Bus 消息总线1. 概述1.1 是什么1.2 能干嘛1.3 为什么被称为总线2. RabbitMQ 环境配置3. SpringCloud Bus动态刷新全局广播3.1 演示广播效果增加复杂度,以3355为模板,在父项目中创建 cloud-config-center3366 配置中心服务module1. 修改 pom 文件2. 编写 bootstrap.yaml 配置文件3. 编写主启动类4. 编写测试controller3.2 设计思想3.3 给 3344 配置中心==服务原创 2021-08-04 15:41:42 · 667 阅读 · 2 评论 -
十、SpringCloud 微服务之SpringCloud Config 分布式配置中心
文章目录SpringCloud Config 分布式配置中心1. 概述1.1 分布式系统面临的---配置问题1.2 是什么1.3 能干嘛2. Config服务端配置与测试2.1 在父项目中创建 cloud-config-center3344 配置中心服务module1. 修改 pom2. 编写yaml配置文件3. 编写主启动类3. Config客户端配置与测试3.1 在父项目中创建 cloud-config-center3355 配置中心服务module1. 修改 pom2. 编写 bootstrap.ya原创 2021-08-04 09:49:24 · 666 阅读 · 0 评论 -
九、Spring Cloud 微服务之 Gateway
文章目录11. Gateway 新一代网关1. 概述简介1.1 是什么?1.2 能干嘛1.3 微服务架构中的网关在哪里1.4 有Zuull了怎么又出来gateway1. 为什么选择Gateway?1.1netflix不太靠谱,zuul2.0一直跳票,迟迟不发布1.2 Spring Cloud Gateway 具有如下特性1.3 Spring Cloud Gateway 与 Zuul 的区别2. Zuul 1.x 模型3. Gateway 模型2. 三大核心概念3. Gateway 工作流程4. 入门配置5.原创 2021-08-03 16:02:18 · 356 阅读 · 0 评论 -
MyBatis-Plus 介绍和使用
文章目录1. 简介1.1 MyBatis-Plus 介绍1.2 代码及文档发布地址2. 集成 MyBatis-Plus2.1 创建测试库表创建 Spring Boot 项目2.2 创建 JavaBean2.3 依赖配置2.4 测试2.5 集成 MyBatis-Plus1. 简介1.1 MyBatis-Plus 介绍MyBatis-Plus(简称MP),是一个 MyBatis 的增强工具包,只做增强不做改变,为简化开发工作、提高生产效率而生。愿景我们的愿景是成为 MyBatis 最好的搭档,就像原创 2021-08-02 17:45:24 · 946 阅读 · 0 评论 -
八、SpringCloud 微服务之 Hystrix 断路器
文章目录10. Hystrix 断路器10.1 概述1. 分布式系统面临的问题2. Hystrix 是什么3. Hystrix 能干什么10.2 Hystrix 重要概念10.3 Hystrix 案例1. 新建 cloud-provider-hystrix-payment8001,并使用 cloud-eureka-server7001 进行注册服务2. 高并发测试3. 如何解决?解决的要求4. 服务降级4.1 8001 fallback4.2 80 fallback5. 服务熔断5.1 原理6. 服务限流原创 2021-07-27 16:04:48 · 657 阅读 · 0 评论 -
七、SpringCloud 微服务之 OpenFeign 服务接口调用
文章目录9. OpenFeign 服务接口调用9.1 概述9.2 OpenFeign 使用步骤9.3 OpenFeign 超时控制9.4 OpenFeign 日志打印功能9. OpenFeign 服务接口调用9.1 概述OpenFeign 是什么Feign is a declarative web service client. It makes writing web service clients easier. To use Feign create an interface and ann原创 2021-07-27 13:57:57 · 450 阅读 · 0 评论 -
六、SpringCloud 微服务之 Ribbon 负载均衡服务调用
文章目录8. Ribbon 负载均衡服务调用8.1 概述1. Ribbon 是什么2. 官网资料3. 能干什么3.1 LB(负载均衡)8.2 Ribbon负载均衡演示1.架构说明2. pom3. RestTemplate 的使用8.3 Ribbon核心组件IRule如何替换?8.4 Ribbon负载均衡算法8. Ribbon 负载均衡服务调用8.1 概述1. Ribbon 是什么Spring Cloud Ribbon 是基于 Netfix Ribbon 实现的一套客户端负载均衡工具。Ribbon原创 2021-07-27 13:56:57 · 446 阅读 · 0 评论 -
五、SpringCloud 微服务之Consul 服务注册与发现
文章目录7. Consul 服务注册与发现7.1 Consul 简介7.2 安装并运行 Consul7.3 服务提供者7.4 服务消费者7.5 三个注册中心的异同点7. Consul 服务注册与发现Consul 官网文档:https://www.consul.io/docsConsul 下载地址:https://www.consul.io/downloads7.1 Consul 简介什么是 Consul?https://www.consul.io/docs/introConsul 是一套开原创 2021-07-27 13:55:42 · 367 阅读 · 1 评论 -
四、SpringCloud 微服务之 Zookeeper 服务注册与发现
文章目录6. Zookeeper 服务注册与发现6.1 SpringCloud整合Zookeeper替代Eureka1. 注册中心Zookeeper2. 服务提供者1. zk jar包冲突问题解决3. 服务消费者6. Zookeeper 服务注册与发现eureka 停止更新了,你怎么办?https://github.com/Netflix/eurekazookeeper 下载地址https://downloads.apache.org/zookeeper/6.1 SpringCloud整原创 2021-07-27 13:54:17 · 445 阅读 · 0 评论 -
三、SpringCloud 微服务之Eureka 服务注册与发现
文章目录5. Eureka 服务注册与发现5.1 Eureka基础知识5.2 Eureka 单机构建步骤1. IDEA 生成 Eureka Server 端服务注册中心2. Eureka Client 端将 cloud-provider-payment8001 注册进 Eureka Server 成为服务提供者provider3. Eureka Client 端将 cloud-comsumer-order80 注册进 Eureka Server 成为服务消费者comsumer5.3 Eureka 集群构建步原创 2021-07-27 13:52:02 · 550 阅读 · 0 评论 -
二、SpringCloud 微服务项目构建
文章目录4. 微服务架构编码构建4.1 创建父项目1. 使用 maven site 新建父项目4.2 修改 pom 文件4.2 创建支付模块微服务4.3 创建订单模块微服务4.4 项目重构优化4. 微服务架构编码构建4.1 创建父项目1. 使用 maven site 新建父项目4.2 修改 pom 文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0原创 2021-07-27 13:47:12 · 474 阅读 · 0 评论 -
Spring RestTemplate简介
文章目录什么是 RestTemplate什么是 RestTemplateRestTemplate 提供了多种便捷访问远程HTTP服务的方法,是一种简单便捷访问 restful 服务模板类,是 Spring 提供的用于访问 rest 服务的客户端模板工具类官网地址https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/client/RestTemplate.html使用原创 2021-07-22 14:28:39 · 147 阅读 · 0 评论 -
一、SpringCloud 微服务基础介绍
文章目录1. 微服务架构零基础理论入门1.1 理论介绍微服务架构与SpringCloud1. 微服务架构概述2. SpringCloud 简介3. SpringCloud 技术栈4. 总结2. 从 2.2.x 和 H 版开始说起3. 关于Cloud 各种组件的停更/升级/替换4. 微服务架构编码构建5. Eureka 服务注册与发现6. Zookeeper 服务注册与发现7. Consul 服务注册与发现8. Ribbon 负载均衡服务调用9. OpenFeign 服务接口调用10. Hystrix 断路器原创 2021-07-20 09:08:05 · 503 阅读 · 2 评论 -
递归判断设置父级的父code是否是子级的code
public class PTest { /* 初始化测试数据 */ Map<String, Dog> map = new HashMap<>(); @BeforeEach public void initMap() { map.put("a", new Dog("a1", "a")); map.put("b", new Dog("b1", "b", "a")); map.pu原创 2021-07-16 11:11:26 · 150 阅读 · 0 评论 -
IDEA设置默认的JDK
File -> New Projects Settings -> Structure for New Projects -> Projects Settings -> Projects如果 Project 下拉框中没有需要的JDK,可以在下面的 SDKs 中手动添加File -> New Projects Settings -> Structure for New Projects -> Platform Settings -> SDKs -&g.原创 2021-07-09 09:46:13 · 9029 阅读 · 0 评论 -
SpringBoot简单自定义starter
创建自动配置新建一个 Springboot 项目 hello-spring-boot-autoconfigurepom 文件 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency.原创 2021-07-09 08:43:03 · 95 阅读 · 0 评论 -
四、SpringBoot2使用-核心功能单元测试
文章目录1. JUnit5 的变化2. Junit5 常用注解3. 断言(assertions)1. 简单断言2. 数组断言3. 组合断言4. 异常断言5. 超时断言6. 快速失败4. 前置条件5. 嵌套测试6. 参数化测试7. 迁移指南1. JUnit5 的变化Spring Boot 2.2.0 版本开始引入 JUnit 5 作为单元测试默认库作为最新版本的JUnit框架,JUnit5与之前版本的Junit框架有很大的不同。由三个不同子项目的几个不同模块组成JUnit 5 = JUnit Pla原创 2021-07-08 15:12:50 · 384 阅读 · 0 评论 -
三、SpringBoot2使用-核心功能数据访问
文章目录数据访问1. SQL1. 数据源的自动配置-HikariDataSource1.1 导入JDBC场景2. 使用Druid数据源1. druid官方github地址2. 自定义方式3. 使用官方starter方式3. 整合 MyBatis1. 配置模式2. 注解模式3. 混合模式4. 整合 MyBatis-Plus完成 CRUD数据访问1. SQL1. 数据源的自动配置-HikariDataSource1.1 导入JDBC场景 <dependency>原创 2021-07-08 10:58:56 · 440 阅读 · 0 评论 -
二、SpringBoot2使用-核心功能web简单使用
文章目录配置文件1. 文件类型1.1 properties格式1.2 yaml 格式1.2.1 简介1.2.2 基本语法1.2.3 数据类型1.2.4 示例2. 配置提示Web 开发1. SpringMVC 自动配置概览2. 请求参数处理1 请求映射1.1 rest 使用与原理2. 普通参数与基本注解2.1 注解:3. 拦截器3.1 HandlerInterceptor 接口3.2 配置拦截器4. 文件上传配置文件1. 文件类型当两种类型的文件同时存在时,会同时读取两个文件中的配置内容,当两个文件中原创 2021-07-01 16:13:14 · 455 阅读 · 0 评论 -
easyexcel的简单使用
easyexcel 文档地址:https://alibaba-easyexcel.github.io/使用依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional>原创 2021-06-30 15:35:53 · 129 阅读 · 0 评论 -
一、SpringBoot2使用-基础入门
文章目录SpringBoot2入门1. 系统要求1.1 maven设置2. HelloWorld了解自动配置原理1. SpringBoot 特点1.1 依赖管理1.2 自动配置自动配好 Tomcat自动配好 SpringMVC自动配好 Web 常见功能, eg:字符编码问题默认的包结构各种配置拥有默认设置按需加载所有自动配置项2. 容器功能2.1 组件添加1. @Configuration2. @Bean、@Component、@Controller、@Service、@Repository3. @Comp原创 2021-06-30 15:09:40 · 852 阅读 · 1 评论 -
mapstruct简单测试使用
文章目录1. 导入所需依赖2. 定义实体类及被映射类3. 定义接口5. 测试1. 导入所需依赖<!-- https://mvnrepository.com/artifact/org.mapstruct/mapstruct --> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artif原创 2021-06-30 11:33:58 · 311 阅读 · 0 评论 -
java guava类库学习,持续更新
@Testpublic void multimapTest(){ // 传统方式 map中一个key映射多个数据时 Map<String, List<Object>> map = new HashMap<>(); List<Object> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7); map.put("ss",list); for (Map.Entry<String, List<Object&原创 2021-06-29 10:09:34 · 284 阅读 · 0 评论