自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 【安装】安装单机mysql8或mysql5.7(CentOS7)(最简单的教程)

本文是在centos7上安装mysql5.7或mysql8,单节点 步骤 一、添加 MySQL yum 源 本文使用root用户操作,在node1节点的虚拟机上安装 可以采用yum localinstall命令来添加 MySQL 源。 在 https://dev.mysql.com/downl...

2020-04-28 17:00:02 51 0

原创 Centos7安装elastic 6.x(6.8.8)集群(亲测可行)

安装elastic集群 注意:别选太高版本的es,比如7.6.2 就需要jdk11了,我们选一个jdk8可以支持的版本。本文选择6.8.8,貌似这已经是最后一个支持jdk8的了 我们这里仅仅安装es,不考虑elk 下载安装包 下载链接 一般要下载历史的版本,才能支持jdk8,官方会说明要求的...

2020-04-22 20:27:58 195 0

原创 关于Spring中的BeanUtils的使用的细节和由此导致的巨坑

关于Spring中的BeanUtils的使用的细节和由此导致的巨坑 前言 本文研究关于spring带的BeanUtils的坑。 即 BeanUtils.copyProperties 的使用注意点 结论: 名字要相同 类型要相同(primitive type和对应包装类同) Source必须有ge...

2020-04-22 15:29:45 54 0

原创 研究kill 和 kill -9 的区别

研究kill 和 kill -9 的区别 本项目有个接口/test,请求后该接口需要处理很久。在接口还未返回结果的时候,使用kill和kill -9杀掉进程会怎么样? 用chrome请求/test,看到转圈,执行kill -9 进程ID,可以看到转圈立即停止。可以想象到kill -9是立即杀死进...

2020-03-30 15:37:18 67 0

原创 关于actuator:搭建步骤,常用地endpoint

详细参考http://www.ityouknow.com/springboot/2018/02/06/spring-boot-actuator.html(非常完整、权威的资料) 说明 研究springboot的actuator 步骤 使用actuator的步骤(基于springboot 2.2.5...

2020-03-30 15:35:25 37 0

原创 mvn package -DskipTests和mvn package Dmaven.test.skip有什么不同?

mvn package -DskipTests和mvn package Dmaven.test.skip有什么不同? -DskipTests 仅跳过测试,但是不跳过测试代码的编译 -Dmaven.test.skip 跳过测试,跳过编译测试代码(src/test/java里有编译错误可以顺利打包,前...

2020-03-27 10:40:02 56 0

原创 Parallels Desktop(PD)安装CentOS7过程遇到的一些问题

Parallels Desktop(PD)安装CentOS7过程遇到的一些问题 PD安装CentOS7的步骤,参考:https://www.jianshu.com/p/423ba6e48aaa 为什么安装的过程没有询问 “要安装basic还是mini版,还是带有图形界面的版本”? 我也不知...

2020-03-25 19:45:34 217 0

原创 springboot项目如何打包给其他项目引用

背景 springboot项目要怎么打包,才能被其他项目GAV引入? 打成springboot的可运行jar是不行的,要用maven插件打包。 例子 springboot项目被 mvn install 打包并安装到本地maven仓库后,被另外一个springboot项目引入,引入后发现JAR包存在...

2020-03-21 09:54:45 190 0

原创 关于filter/springinterceptor/aop的加载顺序

背景 关于filter/springinterceptor/aop的加载顺序。filter指继承javax.servlet.Filter的;springinterceptor是spring里的拦截器,实现HandlerInterceptor的;aop是指@Aspect注解的类 这三种都可以拦截对c...

2020-03-21 09:27:20 26 0

原创 两springboot项目宿主项目引入另一个项目(jar)的相关问题

有两个项目A、B,都是springboot项目,A项目打包后被B引用(B通过maven坐标引用A) 配置B项目为启动时,将A中的controller、aspect、filter、springinterceptor等初始化(就是启动类@ComponentScan增加jar包里的类的路径) 当访问 /...

2020-03-20 16:37:36 113 0

原创 springcloud+swagger微服务环境下实现文档管理

springcloud+swagger微服务环境下实现文档管理 需求 springcloud是多个模块的,怎么用Swagger管理接口呢? 比如我的微服务有以下模块 eureka gateway(zuul) user-service order-service 其中user和o...

2020-03-15 14:32:37 63 0

原创 springboot整合Swagger2,实现对接口的版本管理

springboot整合Swagger2,实现对接口的版本管理 需求 测试同学有需求,对于接口,之前的版本是1.0,现在是1.1版本,我想要知道1.1新增了什么接口,或者说修改了什么接口,怎么办? 细化需求 我们用分组来实现,分组在代码里就是 Docket,如图 我们希望有一个默认的分组,所有...

2020-03-14 16:11:50 206 0

原创 springboot+Swagger2最佳实践和使用规范

springboot整合Swagger2,swagger使用最佳实践和使用规范 1. 前言 本文讨论swagger的使用,以及一些最佳实践。认真看完,你会有收获的 本文的swagger版本是:2.9.2(不同版本UI界面可能不同) swagger2和1,因为2的版本可能对比1升级比较大,所以叫2,...

2020-03-13 16:37:11 54 0

原创 IDEA 2019 debug 技巧

IDEA 2019 debug 技巧 一、debug初识 先看下IDEA 2019 里的 debug 界面 1、Debugger:debug的面板,查看各类东西 2、Console:控制台,查看日志 3、Show Execution Point:单击后跳到此次debug最后执行位置。方便你一顿操...

2020-03-12 13:46:39 656 0

原创 单元测试相关:spring test、mockito、h2

单元测试相关:spring test、mockito、h2 背景 本文讨论单元测试,在单测中遇到的迷惑。单测中测一次就删除数据下次就没法再测怎么办,第三方的接口很不稳定我们要怎么测,整个业务规则这么多限制和要求怎么办? 你领导压缩工期没有足够单测的时间怎么办? 关于mockito和h2相关的,后续...

2020-03-09 17:53:07 97 0

原创 关于 @Conditional 注解

关于 @Conditional 注解 背景 在我们项目中,有时候需要实现这样的需求。我有个接口I,接口的实现类有A、B,我需要的效果是通过不同的配置,实例化具体某个实现类,即可以选择实例化A或B 在spring中,有个注解 @Conditional 可以实现这个要求。我们先来最简单的例子1 1、例...

2020-03-03 20:30:28 23 0

原创 关于System.currentTimeMillis()的理解

System.currentTimeMillis() 获取的是当前时刻距离 1970-1-1 00:00:00.000(0时区) 的毫秒数。注意 1970年1月1日0时0分0秒0毫秒,这个时刻是0时区的。不是东八区的 1970-1-1 00:00:00.000 表述上只是到达了0毫秒,但其实后续...

2020-02-28 10:23:55 127 0

原创 IDEA新建springboot项目maven项目不能导入maven依赖,右边没有maven窗口

IDEA新建springboot项目maven项目不能导入maven依赖,右边没有maven窗口 IDEA,有一段时间创建的springboot项目,右边没有maven窗口,打开pom.xml发现有一段报错,发现maven的依赖也没有出现在 Extenal Libraries 中。pom.xml ...

2020-02-26 11:02:24 4983 5

原创 java类和类之间的关系

java类和类之间的关系 概览 5种关系 依赖(dependency) 关联(association) 聚合(aggregation) 组合(composition) 继承(inheritance)可以更加细得分为实现(realization)和泛化(generalization) 从上至下依...

2020-02-26 10:59:52 53 0

原创 aspectJ最简单的HelloWorld例子

aspectJ最简单的HelloWorld例子 这是aspectJ的入门。aspectJ和aop有什么区别? aspectJ也能够实现和aop功能,aop一般指spring的aop,就是指使用@Aspect/@Pointcut/@Before/@Around等注解的那一套,实现原理是动态代理。而a...

2020-02-19 15:03:38 52 0

原创 spring AOP使用和注意事项

spring AOP使用和注意事项 本项目研究spring的AOP 官方参考文档 https://docs.spring.io/spring/docs/5.2.3.RELEASE/spring-framework-reference/core.html#aop 项目说明 (本文是一个测试项目的 R...

2020-02-18 21:48:26 48 0

原创 Java里的json工具类(fastjson、Jackson(即ObjectMapper)、Gson)的使用

Java里的json工具类(fastjson、Jackson(即ObjectMapper)、Gson)的使用 说明 本文探讨 JSON 的工具类:Fastjson、Jackson(ObjectMapper)、Gson Fastjson:这是阿里巴巴的json工具类 Jackson:这是sprin...

2020-02-13 16:33:11 121 0

原创 如何快速方便地建pgsql的自增字段(自动创建自增字段的sequence)

如何快速方便地建pgsql的自增字段 背景 pgsql的字段想要自增,没有mysql那么方便,其必须依赖sequence的对象,但是建表还需要手动建sequence,是有点不方便。可以使用serial类型,会自动创建对应的sequence,同时如果删除表也能自动地级联删除对应的sequence。 ...

2020-02-11 16:11:25 116 0

原创 100M宽带能下载多快? 关于带宽的下载速度研究

100M宽带能下载多快? 关于带宽的下载速度研究 问题 平时说的100兆宽带(100M)是什么意思? 100M是100MB的意思吗? 理论上每秒能下载100MB吗? 结论 100兆宽带=100x1000x1000/8/1024/1024 MB/s(兆字节每秒)=11.9 MB/s * 注意100兆...

2020-02-02 22:21:48 247 0

原创 rebase操作步骤

资料参考 rebase 变基会遇到两种情况 fast-forward: 这是一定不会发生冲突 non-fast-forward: 可能发生冲突, 可能不会 冲突: 冲突是机器不知道怎么处理, 交给人手工处理 rebase操作步骤 b分支想变基到a分支 在a分支上执行: git r...

2020-01-12 17:29:34 184 0

原创 路由器和交换机的区别

交换机是用来增加网口的,各个口出来的网线要上网的话,得登录各自的宽带帐号。路由器是用来虚拟拨号的,各个口出来的网线,用的是同一个宽带帐号进行上网。 相同点 路由器和交换机样子长得像。 路由器和交换机都有交换机的功能。(路由器能当交换机使用,其功能比交换机多) 不同点 路由器有拨号的功能,交...

2020-01-12 17:26:57 270 0

转载 lambda表达式一篇就懂

一、概述 本文转载 Lambda表达式一篇足够,做了排版的优化,以及调整一些表达。最后给出了思考题的答案。 1、是什么 Lambda表达式是一个匿名函数,即没有函数名的函数。也可以理解成是一段可以传递的代码(将代码像数据一样进行传递),这样一来代码更加简洁。 2、为什么 代码简洁 可能还有一些优...

2019-12-27 09:46:20 30 0

原创 jsr303,hibernate validator的注解使用教程和爬坑(一篇懂)

jsr303,hibernate validator的注解使用教程和爬坑(一篇懂) 本文研究 jsr303 的验证框架,hibernate-validator。 前言 jsr303是Java规范,是一套验证框架的规范,定义了一些列的注解,hibernate-validator是其实现。 sprin...

2019-12-25 21:22:35 47 0

原创 maven打包时所依赖的其他模块会包含jar包吗

有个springboot工程,是多模块的,名叫demo,demo是父工程,pom类型。 demo下有两个模块,一个叫demo-api,一个叫demo-impl,demo-api是接口模块,被demo-impl依赖。demo-impl是实现的模块。 打包的时候,可以对demo、demo-api、de...

2019-12-23 19:44:09 132 0

原创 为什么springboot项目启动的时候,没有打印出端口号的信息

概述 为什么springboot项目启动的时候,没有打印出端口号的信息。下面我说下我遇到的情况。 我遇到的情况是打印启动端口号的类org.springframework.boot.web.embedded.tomcat.TomcatWebServer 被设置成warn级别(<logger n...

2019-12-19 15:54:35 437 0

原创 RestTemplate如何设置具体的实现,设置防止乱码,设置超时时间

背景 首次接触到 RestTemplate,是在SpringCloud的项目中。模块之间的调用走http协议,形式上有两种写法,其中一种是通过RestTemplate调用微服务其他模块的接口,另一种方式是推荐的更加简洁的使用feign相关的注解 这个 RestTemplate 其实可以替代很多ht...

2019-12-19 13:45:03 12 0

原创 HttpComponents与Httpclient有什么不同

http component 和 http client 的区别 概述 http component 和 http client 有什么区别? http client 是前身,不再维护了,可以理解为改名叫 http component,都是apache的项目 详细 官网 在apache官方网站(h...

2019-12-19 13:37:30 72 0

原创 文件上传到git后权限是否会丢失(只读权限、可执行权限等)

文件上传到git后权限是否会丢失(只读权限、可执行权限等) 文件上传到git后权限是否会丢失(只读权限、可执行权限等),下面是新的项目里的文件,建好后推到GitHub中然后再clone ReadOnly.java 在上传到git的时候是只读的,clone下来的时候保持了文件的权限吗 Time的时...

2019-12-16 10:55:45 85 0

原创 线程名字相同就表示相同的线程吗?

结论 错。但是在日志里(例如springboot的日志),打印的线程名字是tomcat线程池里的线程的名字,是各不相同的。只有线程id是相同的(在同一个jvm进程的范围里)。 证明 用main方法测试或者junit测试 默认情况下线程名字是不同的,打印出 threadName:main,thre...

2019-12-13 14:57:39 208 0

原创 如何获取HttpServletRequest,通过静态方法获取request和response

对于spring项目(springmvc,springboot),通过静态的工具类获取request和response会非常方面。方法如下 package com.wyf.test.test; import org.springframework.web.context.request.Servl...

2019-12-13 14:25:41 281 0

原创 spring静态变量如何注入

spring静态变量如何注入 背景 这种写法,是注入不了的,结果打印 null 值 @SpringBootTest @RunWith(SpringRunner.class) public class MyTest { @Autowired private static Applic...

2019-12-13 11:47:07 27 0

原创 POJO/DTO/DO/EO/VO/BO/PO/AO的含义和使用

关于POJO/DTO/DO/EO/VO/BO/PO/AO 本文讨论 POJO/DTO/DO/EO/VO/BO/PO/AO 的定义,另外讨论了这些xO在controller、service、dao/mapper层里的使用规范。另外还稍微讨论了controller中是否要 “轻逻辑”,mapper接口...

2019-12-12 19:46:44 355 0

原创 slf4j日志添加全局唯一的请求ID(requestId,MDC)

背景 我们希望springboot默认的日志框架slf4j,在打印日志时,每行数据都有一个请求ID,这样就很方面追踪日志。并且可以在linux中用将所有该请求ID的日志写在单独的文件里(grep 你的RequestId xxx.log > 该请求ID的所有日志.log) 办法 slf4j有个...

2019-12-11 17:31:59 573 0

原创 如何防止表单数据重复提交

背景 有时候我们希望避免表单重复提交,比如网络慢,点击页面提交按钮后无反应,用户重复多次点击导致多次提交请求给后端接口。 如何防重复提交 前端措施 前端可以在点击按钮后进入一段时间的loading,让按钮在loading期间不可再次点击。 loading的时长可以直到后端接口返回,也可以自己定义一...

2019-12-11 16:57:42 43 0

原创 怎么在IDEA里搜索jar包里的类的方法和配置

IDEA搜索jar包里的文件和jar包里的文件的内容的方法 IDEA 里搜索jar包 1. 如何搜索jar包里的文件 包括搜索jar包某class文件,和搜索jar包里的配置文件等 总结:不需要下载源码就能搜到class文件、配置文件等 1.1 搜索步骤 搜索class:cmd+o打开搜索框,...

2019-11-28 14:02:46 991 0

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