自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wangzhihao的博客

分享、交流、学习

  • 博客(24)
  • 收藏
  • 关注

原创 Spring Boot 整合 springdoc-openapi

springdoc-openapi使用springdoc-openapi官网:springdoc.orgspringdoc-openapi Github仓库:springdoc / springdoc-openapispringdoc-openapi Maven仓库:Home » org.springdoc » springdoc-openapi-uiopen api 简介OpenApi是一个业界的 api 文档标准,一个规范。好比java里面一个抽象的概念,即是一个抽象类,只是提供了一个api

2020-09-04 17:34:04 21423

原创 Spring Boot 整合 springfox-swagger 3.0.0

springfox-swagger使用swagger官网:swagger.iospringfox官网:springfoxspringfox Github仓库:springfox / springfoxspringfox-demos Github仓库:springfox / springfox-demosspringfox Maven仓库:Home » io.springfoxswagger介绍对于 Rest API 来说很重要的一部分内容就是文档,Swagger 为我们提供了一套通过代码和注解

2020-09-04 17:27:51 17712 5

原创 Spring Boot 单元测试

Spring Boot项目中的单元测试junit4 Github 仓库地址:junit-team / junit4junit5 Github 仓库地址:junit-team / junit5Junit4使用常用注解@BeforeClass:@BeforeClass注解的public void方法将会在所有测试方法执行之前执行。@BeforeClass注解修饰的方法必须是静态方法。@BeforeClasspublic static void setUpBeforeClass() {

2020-09-04 16:37:56 596

原创 Spring Boot 整合邮件发送

Spring Boot整合邮件发送1.pom文件中引入mail的starter依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>2.项目配置文件中设置邮件相关配置#邮件发送服务器地址spring.mail.host=s

2020-09-04 16:33:14 467

原创 Spring Boot Log配置

日志Spring Boot 使用 Commons Logging 进行所有内部日志记录,但保留底层日志实现。Spring Boot 为 Java Util Logging,Log4J2 和 Logback 提供了默认配置。 在每种情况下,记录器都预先配置为使用控制台输出,同时还提供可选的文件输出。默认情况下,如果使用 Starters,则使用Logback进行日志记录。还包括适当的Logback路由,以确保使用Java Util Logging,Commons Logging,Log4J或SLF4J的

2020-09-04 16:30:16 1083

原创 Spring Boot 实现国际化消息提示

InternationalizationSpring Boot国际化信息(i18n)示例。官方文档:boot-features-internationalization默认国际化配置SpringBoot提供了自动配置类org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration。可以看到自动配置类中提供的可配置参数为spring.messages,其中典型配置为:#默认配置国际化文件路径spring.

2020-09-04 16:27:50 2827

原创 Spring Boot 外部化配置

Spring Boot 中的配置1.配置随机值Spring Boot的配置支持使用随机值,在配置文件中以${random.xxx}形式添加,具体有以下几种类型:value1=${random.long}value2=${random.long(value,[max])}value3=${random.int}value4=${random.int(value,[max])}value5=${random.uuid}value6=${random.value}2.属性中的占位符在Spri

2020-09-04 16:22:02 159

原创 Spring Boot 整合 Bean Validation 校验数据

bean-validationSpring Boot中Bean的数据校验示例。Bean Validation 官方:beanvalidation.orghibernate validator 官方:hibernate.org/validator/介绍spring-boot-starter-validation是Spring Boot对hibernate validator整合。hibernate validator是 Bean Validation 的具体实现,它提供了一套比较完善、便捷的验证实

2020-09-04 14:46:51 1275

原创 Spring Boot 中的自动化配置

自动配置Spring Boot 提供了一种自动化配置 Bean 的机制,可以根据一定的条件自动初始化 Bean。利用 Spring boot 提供的这种自动配置机制,我们可以创建 spring-boot-starter,一个自动化配置的共享库。在日常开发中,这种自动化配置的库使用起来十分方便,通常在配置文件中添加对应配置项就可以完成这个starter的配置。这里去了解下如何创建一个标准的 spring boot starter。了解自动配置beanSpring Boot使用标准的 @Config

2020-09-04 14:29:59 452

原创 Spring Boot Hello World

建立一个Spring Boot的Hello World项目非常简单。1.使用Spring官方提供的初始化工具创建项目:https://start.spring.ioIntelliJ IDEA:2.勾选web依赖,web依赖中包含Spring MVC和嵌入式的tomcat3.创建后,Maven项目的pom.xml如下<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM

2020-09-03 17:07:03 105

原创 Linux如何在特定时间运行命令

如何在Linux中的特定时间运行命令目的:Linux 操作系统中在特定的时间运行一个命令,并且一旦超时就自动结束命令。方法一:使用 timeout 命令timeout 命令会有效地限制一个进程的绝对执行时间。timeout 命令是 GNU coreutils 包的一部分,因此它预装在所有 GNU/Linux 系统中。假设你只想运行一个命令 N 秒钟,然后杀死它timeout <time-limit-interval> <command>例如,以下命令将在 10 秒后终

2020-09-03 16:24:52 694

原创 Linux服务器NTP服务及时间同步

Linux服务器NTP服务及时间同步保证集群内时间一致性在集群环境中,我们往往很多时候没有外网,那么我们就需要在集群中选一台出来当时间服务器,所有其他服务器从是时间服务器同步时间,保证集群内的时间的一致性。NTP时间同步方式选择NTP同步方式在linux下一般两种:使用ntpdate命令直接同步和使用NTPD服务平滑同步。使用ntpdate命令直接同步的方式存在风险,比如一些定时任务在已有时间内执行过,直接同步导致时间变回任务执行前的时间段,定时任务会重复执行。使用NTPD服务平滑同步的方式不会

2020-09-03 16:20:55 9855

原创 MySQL异常:Index column size too large. The maximum column size is 767 bytes

MySQL异常:Index column size too large. The maximum column size is 767 bytes问题描述Mysql创建索引时报错:Index column size too large. The maximum column size is 767 bytes.问题定位建表时使用 utf8mb4 字符集,这是一个4 字节字符集。当索引最大限制是 767 bytes时,那么一个 varchar 字段:767/4=191.75。当 varchar 字

2020-09-03 14:53:38 8265

原创 java -cp & java -jar的区别

java -cp & java -jar的区别java -cpjava -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库和jar包,需要全路径到jar包,多个jar包之间连接符:Window上分号 ;Linux下使用 :windows环境示例:java -cp .;d:\work\other.jar;d:\work\my.jar packname.mainclassnamelinux环境示例:java -cp .:/hone/myuser/w

2020-09-03 14:50:48 330

原创 Spring Boot项目长时间运行无调用导致tmp目录被清空

Spring Boot项目长时间运行无调用导致tmp目录被清空问题项目部署在CentOS7服务器上,长时间运行期间没有被调用,之后调用该项目服务接口时报错:java.io.IOException: The temporary upload location [/tmp/tomcat.xxx.8080/work/Tomcat/localhost/ROOT] is not valid原因CentOS 7 会清理 10 天前未更新的 /tmp 目录的文件。 springboot 框架启动后,创建的 /

2020-09-03 14:45:18 975

原创 SpringBoot项目jar启动异常:java.io.FileNotFoundException: file:/xxx/xxx.jar!/BOOT-INF/classes!/xxx.yml

问题最近公司项目要对接一个平台服务,项目是新建的,使用的是SpringBoot2.x,但对接平台给的整合包比较旧,2015开发的,整合进来发现存在一个问题:启动时找不到配置resources目录下的配置文件。异常内容如下:java.io.FileNotFoundException: file:/xxx/project-xxx.jar!/BOOT-INF/classes!/xxx.yaml (...

2019-11-13 10:11:00 16455 2

原创 Apache POI整合使用并实现包含图片的Excel导入导出

POI实现包含图片的Excel导入导出介绍Apache POI 是一个 Java 实现的操作 Office 文档的工具库,通常用于处理 Excel 文件,同时它也支持读写 MS Word 和 MS PowerPoint 文件。废话不多说,这里记录下如何使用 POI 在 Web 程序中进行 包含图片的 Excel 的导入导出,以一个用于学生信息采集的系统为例。创建项目新建一个Maven 项...

2019-09-23 00:09:00 2783 7

原创 EasyExcel实现Excel文件导入导出

介绍easyexcel 是阿里巴巴开源的一款 Java 解析 Excel 工具。easyexcel Github 项目仓库地址:https://github.com/alibaba/easyexceleasyexcel 项目依赖于 Apache POI工具库,是 POI 的抽象封装,它简化了对 excel 文件的操作,可以提高代码开发效率。使用Maven 项目 pom 文件中引入依赖:...

2019-09-22 23:15:47 2922 4

原创 Spring Boot项目中加载自定义的yaml文件

1.在 Spring Boot 项目中resource目录下创建一个simple.yml文件my: enjoy: website: - github - google open_source: spring like: food: chicken pc: Thinkpad,MacBook Pro方式一:在 Spring Boot...

2019-09-21 00:26:16 2553

原创 MySQL报错:The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone

情况Spring Boot 连接 MySQL8.0.16 报错。错误日志信息Spring Boot 使用 Mybatis 连接 MySQL 的详细错误日志:Caused by: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Error: GlobalConfigUtils setMetaData Fail !...

2019-08-28 11:00:43 5677

原创 VSCode通过Remote - SSH实现远程开发

微软Visual Studio Code最近的发布的一款远程开发插件Remote - SSH,通过此插件可以实现编译远程服务器上的文件。这里记录下实现远程开发的过程。安装Visual Studio Code预览版由于Remote - SSH尚处于预览版,在Visual Studio Code稳定版的插件商店中找不到这款插件,故需要安装预览版的Visual Studio Code。下载地址:...

2019-08-24 00:09:42 7599 2

原创 记一次阿里云服务器ECS流出带宽占满的解决过程

情况:买了台阿里云服务器当测试服务器,突然有一天访问云服务器的速度特慢,什么东西都加载不出来。于是向阿里云提了工单,售后工程师告诉我是流出带宽占满了,于是在云主机的监控页面查看流出带宽指标,下图所示:由于我是1Mbps的配置,所以理所当然带宽被占满了,访问该云主机就非常的卡顿。下面说说如何解决该情况的:使用iftop查看云主机网络流量情况修改安全组配置首先是在云主机上使用远程连接...

2019-08-14 14:17:56 10195

原创 浅谈Spring中JDK动态代理与CGLIB动态代理

代理模式代理模式:代理类和被代理类实现共同的接口(或继承),代理类中存有指向被代理类的索引,实际执行时通过调用代理类的方法、实际执行的是被代理类的方法。JDK代理和CGLIB代理差异实现差异: - cglib的proxy要求代理对象不能被final修饰,因为其原理是继承代理对象生成子类 - jdk的proxy要求代理对象必须实现一个或多个接口...

2018-07-04 18:25:00 10858 2

原创 利用Excel中CONCATENATE函数生成SQL语句

Excel动态生成SQL语句记录一下Excel比较有实用性的技巧,后续碰到了再补充。Excel动态生成SQL语句情形:最近接到了一个需求,有一个excel文件,上面是需要建表通过程序去维护的字段,表是建好了,但是数据较多,如何快速的导入表中呢? excel中的CONCATENATE函数可以帮助我们批量生成SQL,从而快速将数据导入表中。 以下是百度百科上CONC...

2018-07-01 23:18:36 2328

空空如也

空空如也

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

TA关注的人

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