Spring Boot
是摩卡不是抹茶呀
纯粹地爱Java
展开
-
Spring Boot集成Redis Caused by: java.lang.ClassNotFoundException: redis.clients.jedis.util.SafeEncoder
Caused by: java.lang.ClassNotFoundException: redis.clients.jedis.util.SafeEncoder背景:尝试将Spring Boot由2.1.x版本升级到2.2.x时,集成redis.clients时,出现以下问题:Caused by: java.lang.ClassNotFoundException: redis.clients.jedis.util.SafeEncoder解决方案在升级Spring Boot版本的同时,将re原创 2020-09-05 13:44:05 · 1424 阅读 · 0 评论 -
带你认识 Maven dependencies与dependencyManagement之间的区别
面向对象的思想同样适用于Maven使用dependencyManagement优势统一管理项目的版本号,确保应用的各个项目的依赖和版本一致,才能保证测试的和发布的是相同的成果,因此,在顶层pom中定义共同的依赖关系。同时可以避免在每个使用的子项目中都声明一个版本号,这样想升级或者切换到另一个版本时,只需要在父类容器里更新,不需要任何一个子项目的修改;如果某个子项目需要另外一个版本号时,只需要在dependencies中声明一个版本号即可。子类就会使用子类声明的版本号,不继承父类版本号。两者原创 2020-07-20 21:47:54 · 255 阅读 · 0 评论 -
Maven 构建Spring Boot 多模块项目 心得
参考文章Spring-Cloud笔记02:IDEA中构建多模块的Maven项目心得总结1、更多是将common模块作为依赖引入,不是直接继承(而是通过继承父pom)2、对于spring-boot-dependencies里面存在的依赖,父pom不需要处理。当子项目继承父项目后,直接使用<groupId>,<artifactId>即可从spring-boot-dependencies引入。因为spring-boot-dependencies里面就是使用<depe原创 2020-07-20 21:44:37 · 455 阅读 · 2 评论 -
Spring Boot 2.1.9 整合 RabbitMQ 实现延时队列处理超时未支付订单
前置条件RabbitMQ服务端需要安装rabbitmq_delayed_message_exchange插件CentOS7 为RabbitMQ安装延时队列插件一)、引入依赖<!-- 引入RabbitMQ 消息中间件依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</ar原创 2020-06-06 20:09:56 · 752 阅读 · 0 评论 -
Spring Boot 2.2.6 整合 Redisson分布式锁
官方参考文档redisson-spring-boot-starter 官方文档通过YAML文件配置单节点模式一)、引入Redisson整合Spring Boot依赖<!-- Spring Boot 相关依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactI原创 2020-06-06 20:05:25 · 1335 阅读 · 3 评论 -
SpringBoot 在生产快速禁用Swagger2
解决方案使用注解@ConditionalOnProperty(name = "swagger.enable", havingValue = "true") 在测试配置或者开发配置中 添加 swagger.enable = true 即可开启,在生产环境不填,则默认关闭Swagger详解@ConditionalOnProperty注解@Retention(RetentionPolicy.RU...原创 2020-04-28 19:41:27 · 1186 阅读 · 1 评论 -
Spring Boot 配置跨域访问CORS
Spring Boot 配置 CORSSpringBoot 2.x主要提供了两种方式来支持Cors,如下:@CrossOrigin:默认boolean DEFAULT_ALLOW_CREDENTIALS = false;方式作用范围说明@CrossOrigin一个Controller中全部接口或其中一个特定的接口配置、定制特定的请求接口实现WebMvcConf...原创 2020-04-28 19:36:10 · 539 阅读 · 0 评论 -
Spring Boot 个性化自定义Banner
参考文章:Spring boot 之自定义 Banner// 不直接放Banner.txt文件来控制Spring Boot Banner图样// 而是通过实现org.springframework.boot.Banner接口来重写Banner图样// 这样做的目的是为了在分布式系统中,只要通用模块重写了Banner,其他模块就可以引用从而实现Banner代码复用// 如果想要实现上面的需求...原创 2020-04-28 19:33:34 · 242 阅读 · 0 评论 -
Docker 推送 Spring Boot镜像到阿里云容器镜像仓库
一)、配置项目pom.xml文件docker-maven-plugin 官方文档需要Docker事先开启远程访问的功能<properties> <!-- 仓库地域 --> <docker.region>registry.cn-shenzhen.aliyuncs.com</docker.region> <!-- 仓库...原创 2020-04-12 19:10:57 · 578 阅读 · 0 评论 -
SpringBoot 2.0 进行GET请求时,url中携带特殊符号,如[,会抛出状态码400错误
原因分析Tomcat的新版本中增加了一个新特性,就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符(RFC3986中指定了以下字符为保留字符:! * ’ ( ) ; : @ & = + $ , / ? # [ ])。问题解决/** * 主要解决请求url携带...原创 2020-03-28 19:58:30 · 2626 阅读 · 0 评论 -
Spring Boot 将yyyy-MM-dd格式的文本字符串直接转换为LocalDateTime出现的问题
问题复现Exception in thread "main" java.time.format.DateTimeParseException: Text '2020-03-12' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to 2020-03-12 of t...原创 2020-03-28 19:55:36 · 3500 阅读 · 0 评论 -
关于 MyBatis @MapperScan 配置
问题org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): top.yangzefeng.usercenter.user.service.UserService.getById解决方案:常用配置:@MapperScan("top.yangzefeng.usercenter.**.mapp...原创 2020-03-20 15:46:21 · 3499 阅读 · 0 评论 -
MyBatis-Plus代码生成器配置及application文件配置
一)、代码生成器配置<dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.0</version></dependenc...原创 2020-03-17 21:33:28 · 1896 阅读 · 0 评论 -
关于Mybatis-Plus org.apache.ibatis.binding.BindingException问题解决
问题描述org.apache.ibatis.binding.BindingExceptionInvalid bound statement (not found): com.demo.server.system.mapper.UserMapper.findUserDetailPage解决方案:确定是否有配置mapper-locations检查application配置文件是否配置了ma...原创 2020-03-15 21:32:00 · 1711 阅读 · 0 评论 -
Spring Boot 解决MyBatis-Plus整合Druid 出现的nested exception is java.sql.SQLFeatureNotSupportedException问题
问题分析Druid相关issuenested exception is java.sql.SQLFeatureNotSupportedException问题的出现,主要是因为实体类的日期字段使用的是LocalDateTime类型解决方案:调整MyBatis-Plus相关版本mybatis-plus-generator是关键,不能缺少,否则一样会出现SQLFeatureNotSupport...原创 2019-12-13 13:14:16 · 7281 阅读 · 2 评论 -
Spring Boot 使用默认Redis客户端操作工具lettuce时,出现Caused by: io.lettuce.core.RedisCommandTimeoutException: Comm
Spring Boot 版本 2.1.9.RELEASE当将图形验证码存储到Redis时,当间隔一段没有请求的时间后,再次请求图形验证码就会出现超时现象。即便修改redis.timeout也无效解决方案原因可能是因为lettuce当一段时间不使用后,会断开连接,当再次连接时,会出现超时问题,即便修改timeout也不行调整Lettuce为Jedis<dependency>...原创 2019-12-11 19:29:38 · 2012 阅读 · 0 评论 -
关于MyBatis-Plus自动更新时间的小坑
MySQL数据表`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'说明:在不做调整的情况下,如果...原创 2019-12-01 07:48:31 · 10145 阅读 · 0 评论 -
Spring Boot 上传文件过大问题解决
上传文件过大异常现象复现java.lang.IllegalStateException: io.undertow.server.handlers.form.MultiPartParserDefinition$FileTooLargeException: UT000054: The maximum size 1048576 for an individual file in a multipart...原创 2019-12-01 07:47:25 · 5894 阅读 · 0 评论 -
Spring Boot Java8 LocalDateTime日期序列化与反序列化 解决方案
网上绝大多数都是没有用的!LocalDateTime 反序列化器不需要另外引入什么jsr310依赖,spring-boot-starter-web里面就包含有<dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-dat...原创 2019-12-01 07:45:34 · 5591 阅读 · 3 评论 -
Maven 指定Spring Boot打包名称
修改pom.xml文件<build> <!-- 项目打包名称 --> <finalName>${project.artifactId}-${project.version}</finalName> <plugins> <plugin> <groupId&g...原创 2019-12-01 07:43:10 · 488 阅读 · 0 评论 -
MyBatis-Plus配置教程 使用@Import来简化Bean对象注入
/** * MyBatis-Plus配置类 * 当注入的Bean对象是简单的new方式注入,那么可以采用@Import的方式来简化代码 * * @author MoCha * @date 2019/9/21 */@Configuration@EnableTransactionManagement@MapperScan("top.example.**.dao")@Import(P...原创 2019-11-12 16:18:37 · 1080 阅读 · 0 评论 -
Spring Boot 整合Swagger 第二部 (动态配置启动Swagger,API分组管理)
动态配置启动Swaggerimport org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org...原创 2019-05-24 10:09:35 · 515 阅读 · 1 评论 -
Spring Boot 使用p6spy 分析MyBatis-Plus 执行sql性能 出现的问题
问题Caused by: java.lang.IllegalStateException: dbType not support : null, url jdbc:p6spy:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false at com.alibaba.druid.w...原创 2019-09-21 09:58:12 · 2013 阅读 · 1 评论 -
Spring Boot 部署项目到Linux
文章目录一)、jar包(官方推荐)一)、jar包(官方推荐)jar包方式启动,也就是使用spring boot内置的tomcat运行。服务器上面只要配置了jdk1.8及以上,就ok。不需要外置tomcatnohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中除非另外指定了输...原创 2019-07-26 21:01:26 · 219 阅读 · 0 评论 -
Spring Boot 配置logback 保存日志信息
If you put a logback.xml in the root of your classpath, it is picked up from there (or from logback-spring.xml, to take advantage of the templating features provided by Boot). Spring Boot provides a d...原创 2019-07-29 09:17:57 · 284 阅读 · 0 评论 -
Spring Boot 热部署 devtools 使用
文章目录一)、引入devtools依赖二)、IDEA进行SpringBoot热部署失败 解决方案1)、File->Settings->Compiler2)、一)、引入devtools依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId&g...原创 2019-06-13 09:16:45 · 342 阅读 · 0 评论 -
Spring Boot 结合Swagger 实现图片上传API接口文档
/** * 图片文件上传至阿里云OSS * * @param multipartFile 图片文件 * @return 上传结果 FileUploadResult */@ApiOperation(value = "上传图片文件至OSS", httpMethod = "POST")@PostMapping(value = "/uploadPictureFile", consumes =...原创 2019-05-24 10:22:25 · 3468 阅读 · 8 评论 -
Swagger 注解 详细说明
文章目录注解快速预览注解详细说明@Api:用在请求的类上,表示对类的说明@ApiOperation:用在请求的方法上,说明方法的用途、作用@ApiImplicitParams:用在请求的方法上,表示一组参数说明@ApiResponses:用在请求的方法上,表示一组响应@ApiModel:用于响应类上,表示一个返回响应数据的信息注解快速预览注解说明@ApiMarks a c...原创 2019-05-24 10:13:50 · 679 阅读 · 0 评论 -
Spring Boot 整合 Swagger
文章目录引入Swagger相关依赖`1)、引入Spring整合Swagger依赖[SpringFox]``2)、编写SpringFox配置类``3)、引入Swagger-Ui依赖``4)、添加ApiInfo`引入Swagger相关依赖1)、引入Spring整合Swagger依赖[SpringFox]<!-- 引入Spring整合Swagger依赖 --><dependen...原创 2019-05-24 09:58:08 · 172 阅读 · 0 评论 -
Spring Boot 配置logback日志实现
application配置默认情况下spring boot是不会将日志输出到日志文件中,我们可以配置application的方式进行日志输出# 注意logging.file与logging.path同时使用时,不会进行叠加,即不会生成path+file的日志文件logging.file=D:\\MyLog\\MyLog.loglogging.level.root=info#logging...原创 2019-05-23 15:52:13 · 264 阅读 · 0 评论 -
Spring Boot 自定义异常处理
文章目录自定义异常类,继承RuntimeException全局异常处理响应结果枚举类测试自定义异常处理自定义异常类,继承RuntimeException/** * 自定制异常类 * * @author MoCha * @date 2019/5/25 */@Getterpublic class CustomException extends RuntimeException { ...原创 2019-05-25 16:03:18 · 9462 阅读 · 0 评论 -
Spring Boot 与 Bootstrap-table 实现商品的分页展示
注意!Bootstrap Table 和 Datatables 不是同一个东西!要学会看官方文档,Bootstrap-table文档中关于配置项的解释已经非常详细,还附有示例!// 分页结果数据传输对象// 通过观察Bootstrap-Table的dataField, totalField => 我们可以知道默认参数名为'rows', 'total'TableDTO => {...原创 2019-05-02 20:28:36 · 2060 阅读 · 0 评论 -
SpringBoot 如何切换Thymeleaf模板引擎版本及对应布局版本呢?
Use Thymeleaf 3 官方文档在pom.xml文件中添加以下配置<properties> <thymeleaf.version>3.0.9.RELEASE</thymeleaf.version> <!-- 布局功能的支持程序 thymeleaf3主程序 对应 layout2以上版本 --> <!-- ...原创 2019-07-26 21:16:17 · 3223 阅读 · 5 评论 -
Spring Boot 定制错误页面
一)、有模板引擎的情况将错误页面以[错误状态码.html]的形式,放在模板引擎文件夹下的error文件里面,即template/error/4xx.html我们可以使用4xx和5xx来匹配该类型的所有错误,但精确优先,有明确错误码的,先匹配二)、没有模板引擎的情况在静态资源文件夹下找error/4xx.html三)、以上条件都不具备默认返回Spring Boot的空白错误提示页面...原创 2019-07-26 21:18:37 · 478 阅读 · 0 评论 -
使用easyexcel的一个大陷阱
<!-- 阿里巴巴 EasyExcel依赖 --><dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>1.1.1</version></depen...原创 2019-09-07 11:42:22 · 1582 阅读 · 2 评论 -
Spring Boot 配置Java8 日期全局格式化
说明Spring Boot 提供了 spring.jackson.date-format配置可以让我们进行日期格式化,但它只能格式化 java.util.Date。解决方案:定义一个配置类,在配置类注入两个 Bean 实现日期全局格式化,同时还兼顾了 Date 和 LocalDateTime 并存。application.properties# 全局日期格式化配置spring.j...原创 2019-09-07 11:11:59 · 690 阅读 · 0 评论 -
修改Spring Boot Data Redis 默认客户端为Redis
Spring Boot Data Redis 与 JedisSpring Boot Data Redis 默认依赖 lettuceSpring Boot Data Redis依赖于Jedis或lettuce,本质是对redis客户端们的封装,提供一套与客户端无关的api以提供使用,从而可以轻松将一个redis切换到另一个客户端,而不需要修改业务代码修改pom.xml文件<!-- 修...原创 2019-08-31 20:14:46 · 1164 阅读 · 0 评论 -
Spring Boot 集成 Druid数据库连接池
为什么需要连接池参考文章:谈谈数据库连接池的原理一起来看看原始数据库连接的做法首先,每一次web请求都要建立一次数据库连接。建立连接是一个费时的活动,每次都得花费0.05s~1s的时间,而且系统还要分配内存资源。这个时间对于一次或几次数据库操作,或许感觉不出系统有多大的开销。对于现在的web应用,尤其是大型电子商务网站,同时有几百人甚至几千人在线是很正常的事。该情况下,频繁的...原创 2019-08-12 11:12:29 · 508 阅读 · 0 评论 -
如何更好的编写 Spring Boot 配置类?
引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <version>2.1.5.RELEASE</ve...原创 2019-08-07 14:19:49 · 355 阅读 · 0 评论 -
Spring Boot 指定外部配置文件启动
# Spring Boot 指定外部配置文件启动nohup java -jar xxxx.jar --Dspring.config.location=application.properties > xxx_log.txt &原创 2019-08-07 11:22:02 · 1127 阅读 · 0 评论