SpringBoot
Muscleheng
站在巨人肩上摘星揽月
展开
-
RedisTemplate序列化
RedisTemplate默认使用的是JDK 序列化方式(JdkSerializationRedisSerializer) ,这种序列化方式可以不用在配置类里配置,默认即可,这种不推荐使用,这种方式对应客户端来说可读性差,不利于人工排查问题。所以一般用JSON序列化,JSON序列化方式又有两种,GenericJackson2JsonRedisSerializer和Jackson2JsonRedisSerializer,GenericJackson2JsonRedisSerializer配置更简单方便些。原创 2024-01-01 11:47:46 · 1177 阅读 · 0 评论 -
Spring Boot @RestControllerAdvice 全局异常处理
利用注解@RestControllerAdvice 轻轻松松实现全局异常处理原创 2023-05-27 17:41:37 · 310 阅读 · 0 评论 -
springBoot发送邮件
spring boot 发送邮件的实现原创 2022-12-20 14:15:14 · 716 阅读 · 0 评论 -
springboot中使用webservice服务
SpringBoot项目中使用WebService服务完整示例原创 2022-11-11 18:27:19 · 1829 阅读 · 0 评论 -
delegate IDE build/run actions actions to Maven
idea中maven项目可以打包成功但是idea不能运行原创 2022-07-05 11:10:18 · 10395 阅读 · 5 评论 -
SpringBoot 在启动时执行某些方法
SpringBoot 在启动时执行某个方法,利用@PostConstruct 和 CommandLineRunner 或 ApplicationRunner原创 2022-06-30 18:01:45 · 5493 阅读 · 0 评论 -
问题解决:java.lang.OutOfMemoryError: unable to create new native thread
线上项目有一天突然挂了,报错:java.lang.OutOfMemoryError: unable to create new native thread大概意思就是:创建的线程实在是太多了,已经无法创建新的线程了。开始排查问题:一、网上查资料得到的答案几乎都一样,但是都没用,如下:调整JVMMemory内存大小、调整服务器的最大线程数等等。二、仔细查看error日志,结合业务代码排查根据error日志的堆栈信息找到抛出异常的代码块,并没有发现什么问题;因为业务代码这个地方并不存原创 2021-11-23 16:11:37 · 2140 阅读 · 0 评论 -
Spring Boot Admin配置安全验证
上一篇写了Spring Boot Admin的搭建spring boot admin 搭建(非常简单)_Muscleheng的博客-CSDN博客但是没有登录验证,如果线上使用,肯定是不安全的,这里记录一下添加登录验证,非常简单一、服务端(server端)1. pom文件添加依赖 <!--springboot admin 安全相关--> <dependency> <groupId>org.springframework.boot</gr.原创 2021-11-23 11:48:26 · 1502 阅读 · 0 评论 -
spring boot admin 搭建(非常简单)
Spring Boot Admin配置简单,功能强大,提供了健康检查、指标监控、访问日志、线程转储、堆转储和环境信息等等。一、服务端搭建基于一个最简单的springboot项目即可1. 添加pom依赖 <!-- SpringBootAdmin service --> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-adm原创 2021-11-23 11:33:11 · 2681 阅读 · 0 评论 -
Redisson分布式锁的配置和使用
基于springBoot的redisson分布式锁之前使用Redis分布式锁都是自己写的工具类,利用Redis的setNX特性;后来发现Redisson提供的分布式锁是真的好用。Redisson可以看做是对Redis的一个操作工具类。将原生的RedisHash,List,Set,String等数据结构封装为Java里大家最熟悉的映射(Map),列表(List),集(Set)等。我的项目中使用了RedisTemplate,现在要在此基础上使用Redisson,如果再在配置文件里面添加一份Rediss原创 2021-09-13 10:34:49 · 3190 阅读 · 0 评论 -
报错:“JSR-303 validated property ‘xxx.id‘ does not have a corresponding accessor for Spring data bindi
使用注解@Validated和@Valid做入参校验,结果报错:"JSR-303 validated property 'xxx.id' does not have a corresponding accessor for Spring data binding - check your DataBinder's configuration (bean property versus direct field access)"解决方法,在全局异常处理类里面添加如下配置即可,大概意思是:将Spring原创 2021-07-09 09:29:23 · 2145 阅读 · 0 评论 -
RocketMQ Api在springboot中简单使用
RocketMQ普通消息的简单使用demo官方文档:http://rocketmq.apache.org/docs/simple-example/第一步:pom文件添加依赖原创 2021-06-03 16:34:22 · 588 阅读 · 0 评论 -
SpringBoot 定时任务(自定义线程池)
基于SpringBoot的定时任务配合自定义线程池实现,项目中再正在使用;第一步、创建线程池 import java.util.concurrent.ThreadPoolExecutor;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.scheduling.annot原创 2020-06-18 16:49:38 · 4550 阅读 · 0 评论 -
springBoot @Valid 参数校验
项目中的接口一般都是需要进行参数校验的,这里简单记录一下springboot项目中使用@Validated和@Valid注解实现接口入参的校验;第一步:创建用于接收参数的实体类package com.zhh.eDemo.business.model;import java.io.Serializable;import javax.validation.constraints.N......原创 2020-04-13 09:39:17 · 2087 阅读 · 2 评论 -
springboot保存图片到项目文件资源路径
上传图片到项目静态资源路径:代码实现:package com.xxx.xxx.controller;import java.io.File;import java.io.IOException;import javax.servlet.http.HttpServletRequest;import org.springframework.stereotype.Con...原创 2020-01-13 17:46:04 · 17012 阅读 · 15 评论 -
SpringBoot2.0集成Swagger2访问404
今天配置swagger的时候出现了一个小问题,检查了很多地方都没问题,就是访问不到swagger页面,后来查看了很多文章发现是springBoot静态资源配置问题。这是swagger静态资源存放路径:由上图可以发现,如果我们的项目添加了静态资源相关的配置,那么就需要吧swagger的静态资源路径也添加进去1. 错误配置方式:#静态资源访问路径spring.mvc.stati...原创 2019-12-31 15:17:13 · 1293 阅读 · 0 评论 -
SpringBoot Redis实现分布式锁(亲测可用)
集群情况下,JDK的锁是很容易出现问题的,这时候就需要用到分布式锁;最近用到了Redis实现分布式锁,这里记录一下。基本原理: 这里使用了Redis的setNX,由于当某个 key 不存在的时候,SETNX 才会设置该 key。且由于 Redis 采用单进程单线程模型,所以,不需要担心并发的问题。那么,就可以利用 SETNX 的特性维护一个 key,存在的时候,即锁被某个线程持...原创 2019-11-13 17:18:00 · 2583 阅读 · 3 评论 -
使用Spring Aop(@Aspect)加自定义注解记录日志以及请求响应时间
需求背景:需要在controller层的方法进行统一的日志记录,例如:日志记录请求参数,响应参数;记录请求处理时间(性能监控)。1.maven依赖 <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver&...原创 2019-07-24 16:02:31 · 1860 阅读 · 8 评论 -
SpringBoot线程池的创建、@Async配置步骤及注意事项
前 言:最近在做订单模块,用户购买服务类产品之后,需要进行预约,预约成功之后分别给商家和用户发送提醒短信。考虑发短信耗时的情况所以我想用异步的方法去执行,于是就在网上看见了Spring的@Async了。但是遇到了许多问题,使得@Async无效,也一直没有找到很好的文章去详细的说明@Async的正确及错误的使用方法及需要注意的地方,这里简单整理了一下遇见的问题,Sring是以配置文件的形式来开启...原创 2018-08-04 13:32:17 · 29698 阅读 · 18 评论