
SpringBoot
文章平均质量分 88
https://github.com/spring-projects/spring-boot/releases
zzhongcy
因为站在了巨人的肩上,所以我看得更远。
当你发现自己的才华撑不起野心时,就请安静下来学习吧
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
主流配置中心对比
在单体应用中,配置管理可能不是什么大的事情,通常会以配置文件的方式。常见的方法比如将配置通过打包脚本打入应用包中,或者直接放到运行应用的服务器的特定目录下,或者存储到数据库中。配置变化频繁时,需要频繁的打包部署应用。不同环境的配置需要分开管理(比如测试环境与生产环境)。而在分布式微服务架构中,服务数量剧增,如果还是手动去实现配置信息的修改或数据的迁移等,效率是很低的,而且手动操作配置也极有可能出现错误的情况。原创 2025-08-27 21:51:28 · 643 阅读 · 0 评论 -
Sprintboot 添加banner
在日常开发中,我们经常会看到各种各样的启动画面。例如以下几种①spring项目启动画面②启动画面③若依项目启动画面还有很多各式各样好看的启动画面,那么怎么定制这些启动画面呢?转载 2025-08-13 14:06:56 · 65 阅读 · 0 评论 -
restTemplate禁用url编码
在将queryUrl传入RestTemplate之前,将其封装为一个URL对象,避免了queryUrl被RestTemplate进行2次UrlDecode。param={"name":"张三","age":22}我们想要的结果并不想restTemplate调用的时候二次编码,而是使用我们的url。param={"name":"张三","age":22}在restTemplate调用方法的时候默认对url做了编码处理。这时使用restTemplate调用接口,会对url再次编码成。接口放接收到路径解码后。原创 2025-08-07 13:39:19 · 361 阅读 · 0 评论 -
SpringBoot设置跨域的几种方式
来源是URL的结构是这样的,在这个URL的组成部分中,Origin是指协议、主机和端口号的组合,例如:80、443。CORS 的出现是因为来源不同。也就是说,必须遵守 SOP。-> 这意味着该政策只允许相同的来源。过去,出于安全考虑,严格只允许来自同一来源的通信,但最近,从不同来源获取和使用资源变得非常普遍,因此创建了作为 SOP 例外的 CORS 策略。当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域首先编写一个过滤器,可以起名字为MyCorsFilter.java。原创 2025-08-06 15:12:20 · 731 阅读 · 0 评论 -
Spring Boot 3.5.x 使用 SpringDoc 2 / Swagger3
Springfox 是一套可以帮助 Java 开发者自动生成 API 文档的工具,它是基于 Swagger 2.x 基础上开发的。除了集成 Swagger 2.x,Springfox 还提供了一些额外功能,例如自定义 Swagger 文档、API 版本控制、请求验证等等。但是随着时间的推移,Swagger2.x 终究成为历史,所以我们可以看出 springfox-boot-starter 的坐标从 3.0.0 版本(2020 年 7 月 14 日)开始就一直没有更新;原创 2025-07-29 16:36:46 · 1317 阅读 · 1 评论 -
Springboot集成knife4j
针对以上两种情况,Knife4j基于Servlet体系提供了过滤Filter功能,如果开发者使用Spring Boot开发框架进行开发的话,只需在。配置文件中配置相关属性即可方便的解决上面的问题,不用删除Springfox-swagger的jar包或者删除相关代码等复杂的操作,提升开发体验.功能时,同很多开发者经常讨论的问题就是在生产环境时,屏蔽或者去除Swagger的文档很麻烦。注解来使用增强功能,自2.0.6版本后,只需要在配置文件中配置。在以前的版本中,开发者需要在配置类中手动使用。原创 2025-07-18 13:55:46 · 1382 阅读 · 0 评论 -
Mybatis 批量插入数据 SQL
上面代码中在 SQL 语句的最外层使用了 for 循环,好处是将 List 类型的集合传递来写入数据时可以有的是新增有的是修改,例如3行数据,第一三行由于主键字段对应属性 sid 被设置为 NULL ,会向数据库中新增行,第二行数据设置了 sid ,并且该值在数据库中有对应行,那么会修改数据库中的该行上的数据。通过在 java 中测试,发现上面的语句新增一行成功后会返回1,修改成功后会返回2(这里有疑惑,如果清楚原因的麻烦跟帖科普下)。这种写法适合插入数据的项不变,原创 2024-02-02 11:11:45 · 4262 阅读 · 0 评论 -
mybatis&Mysql分页查询,以及SQL_CALC_FOUND_ROWS与count(*) 性能对比
温故而知新,这里记录一下。原创 2024-01-11 17:48:18 · 1711 阅读 · 0 评论 -
HandlerMethodArgumentResolver用于统一获取当前登录用户
为了将 HTTP 请求参数转换为 Java 对象,我们需要创建一个自定义的实现类。在这个类中,我们需要实现方法和方法。要在 Spring Boot 应用程序中使用自定义的实现类,我们需要将其注册到应用程序上下文中。为此,我们可以创建一个类,并实现接口。在这个类中,我们需要重写方法,并将自定义的实现类添加到参数解析器列表中。3.1 自定义权限拦截器自定义权限拦截器AuthenticationInterceptor,需实现HandlerInterceptor。原创 2023-12-14 17:28:33 · 1607 阅读 · 0 评论 -
springboot-redis设置定时触发任务详解
从Redis 2.8.0开始,Redis加入了发布/订阅模式以及键空间消息提醒(keyspace notification)功能。键空间消息提醒提供了允许客户端通过订阅指定信道获取Redis数据变化的能力。需要注意的是,键空间消息提醒并非可靠的,它不会对订阅端是否接收到消息进行确认。例如某个订阅的客户端暂时断开连接,在其直到恢复连接期间发生的事件将无法再次获得。原创 2023-12-14 15:39:40 · 1823 阅读 · 0 评论 -
Redis实战之Redisson使用技巧详解
什么是 Redisson?来自于官网上的描述内容如下!Redisson 是一个在 Redis 的基础上实现的 Java 驻内存数据网格客户端(In-Memory Data Grid)。它不仅提供了一系列的 redis 常用数据结构命令服务,还提供了许多分布式服务,例如分布式锁、分布式对象、分布式集合、分布式远程服务、分布式调度任务服务等等。相比于 Jedis、Lettuce 等基于 redis 命令封装的客户端,Redisson 提供的功能更加高端和抽象,逼格高!转载 2023-12-07 19:13:39 · 2588 阅读 · 1 评论 -
WebMvcConfigurer配置详解
WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制,可以自定义一些Handler,Interceptor,ViewResolver,MessageConverter。基于java-based方式的spring mvc配置,需要创建一个类并实现接口;在Spring Boot 1.5版本都是靠重写的方法来添加自定义拦截器,消息转换器等。原创 2023-11-14 10:17:42 · 2567 阅读 · 0 评论 -
SpringBoot项目中ModelMapper配置以及使用
项目中对象与对象赋值转换使用的频率非常的高,比如数据库表实体对象(Entity)与业务类对象(Model)之间的赋值传递,或者模型对象(Model)与视图对象(ViewModel)之间的赋值传递。如果我们一个一个字段的赋值,将是非常繁琐并且毫无价值的重复工作,此时虽然我们可以自己通过反射提取个公共的方法来处理,但是更高效的方式是查看是否有第三方已经提供了比较成熟稳定的工具包,避免重复造轮子的工作。原创 2023-11-13 16:06:32 · 1330 阅读 · 0 评论 -
Spring boot 注解Annotation大全【持续更新】
最主要本文将持续更新日常使用的注解,也可以评论中告知其他注解。原创 2024-05-16 09:15:32 · 1612 阅读 · 1 评论 -
SpringBoot, EventListener事件监听的使用
1、事件(event)可以封装和传递监听器中要处理的参数,如对象或字符串,并作为监听器中监听的目标。2、监听器(listener)具体根据事件发生的业务处理模块,这里可以接收处理事件中封装的对象或字符串。3、事件发布者(publisher)事件发生的触发者。原创 2023-10-07 10:47:34 · 675 阅读 · 0 评论 -
Spring Boot 2.7.8以后mysql-connector-java与mysql-connector-j
如果升级到Spring Boot 2.7.8,可以看到因为找不到mysql-connector-java依赖而出现错误。原创 2023-07-27 14:23:42 · 13740 阅读 · 1 评论 -
Java获取 User-Agent介绍
根据获取访问设备信息。Http 协议请求头中的User-Agent属性会将客户端设备的信息传递给服务器,这些信息包括客户端操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。原创 2023-06-08 09:41:26 · 3529 阅读 · 0 评论 -
Spring AOP在项目中的典型应用场景
Spring AOP在项目中的典型应用场景_spring aop应用场景__江南一点雨的博客-CSDN博客原创 2023-06-05 13:38:33 · 482 阅读 · 0 评论 -
AbandonedConnectionCleanupThread$ConnectionFinalizerPhantomReference内存溢出
有些读者看到这里知道 mysql-connector-java 生成的虚引用对 GC 有一些副作用,但是还不太了解虚引用到底是什么,有什么作用,这里我们在虚引用上做一点点拓展。Java 虚引用(Phantom Reference)是Java中一种特殊的引用类型,它是最弱的一种引用。与其他引用不同,虚引用并不会影响对象的生命周期,也不会影响对象的垃圾回收。虚引用主要用于在对象被回收时收到系统通知,以便在回收时执行一些必要的清理工作。上述虚引用的定义还是比较难理解,我们用代码来辅助理解://虚引用队列。原创 2023-05-29 14:09:47 · 7443 阅读 · 1 评论 -
To avoid unwanted headers like spring_json_header_types
kafka原创 2023-01-30 14:28:47 · 664 阅读 · 0 评论 -
提高kafka消费速度之从源码去了解Spring-kafka的concurrency参数
kafka原创 2023-01-13 16:38:40 · 7089 阅读 · 3 评论 -
spring-data-redis中同时使用set()、get()、increment()的问题
redis原创 2022-12-28 17:14:29 · 1890 阅读 · 0 评论 -
SpringBoot项目在logback.xml中读取配置中的日志路径问题
logback原创 2022-11-29 11:44:50 · 294 阅读 · 0 评论 -
Spring的RestTemplate访问重定向地址,获取30*原始返回数据,而不是继续重定向
Sprintboot原创 2022-10-12 15:00:45 · 3190 阅读 · 0 评论 -
Springboot整合Kafka-控制或关闭消费、动态开启或关闭监听
kafka原创 2022-09-02 17:36:50 · 7479 阅读 · 2 评论 -
@KafkaListener如何动态指定多个topic,特殊topic解析处理
KafkaListener,多个topic原创 2022-08-17 18:15:46 · 3572 阅读 · 0 评论 -
Spring Kafka – Adding Custom Header to Kafka Message Example
kafka转载 2022-08-11 11:32:12 · 2083 阅读 · 0 评论 -
Spring相关术语
Spring&SpringBoot 相关缩写说明原创 2022-07-07 17:01:12 · 488 阅读 · 0 评论 -
springboot+mybatis, SqlSessionTemplate线程安全
springboot+mybatis, SqlSessionTemplate线程安全原创 2022-06-01 09:17:29 · 4100 阅读 · 3 评论 -
Springboot, link failure、SSL peer shut down incorrectly、Unsupported record version Unknown-0.0问题
1.错误现象最近升级Springboot 2.6.2到Springboot 2.6.7,DB配置:spring.datasource.url=jdbc:mysql://IP:3306/testmysql?useUnicode=true&characterEncoding=UTF8&allowMultiQueries=true&useSSL=true发现下面错误:com.mysql.cj.jdbc.exceptions.CommunicationsEx..原创 2022-04-29 10:02:16 · 4838 阅读 · 0 评论 -
Spring boot+Spring security+JWT实现前后端分离登录认证及权限控制
最近空闲时间研究了一下Spring security+JWT,网上查了查资料,这里记录一下推荐最近看到这篇文章,感觉不错,这里转载一下:Spring boot+Spring security+JWT实现前后端分离登录认证及权限控制_程序员李哈的博客-CSDN博客_springsecurity前后端分离登录认证像个项目的Gitee地址如下:springboot+springsecurity+jwt整合: springboot+springsecurity+jwt整合的后端项目,大家可以原创 2022-04-22 14:48:46 · 1672 阅读 · 0 评论 -
cookie setSecure详解
最近项目用检测漏洞在cas中或其他web开发中,会碰到安全cookie的概念,因为CAS中TGT是存放在安全cookie中的。下面是安全cookie 的理解: Set-Cookie 的 secure 属性就是处理这方面的情况用的,它表示创建的 cookie 只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息,所以绝对不会被窃听到。 在setSecure(true); 的情况下,只有https才传递到服务器端。http是不会传...原创 2022-03-31 16:09:37 · 8725 阅读 · 1 评论 -
Mybatis运行常见错误汇总
1. 找不到类中的 get 属性 1 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'userName' in 'class com.q18idc.Xxxx' 检查取值表达式中的属性名是否写错了,例如:{转载 2022-03-29 15:15:56 · 3525 阅读 · 0 评论 -
Tomcat中LegacyCookieProcessor与Rfc6265CookieProcessor
最近升级某个依赖库,遇到cookie解析失败的问题,网上查了查资料,在这里学习记录一下。背景 近日有用户反馈tomcat升级后应用出现了一些问题,出现问题的这段时间内,tomcat从8.0.47升级到了8.5.43。 问题主要分为两类:cookie写入过程中,domain如果以.开头则无法写入,比如.xx.com写入会报错,而写入xx.com则没问题。 cookie读取后应用无法解析,写入cookie的值采用的是Base64算法。定位 经过一番搜索,发现tomca...原创 2022-02-17 14:43:58 · 4455 阅读 · 0 评论 -
Lombok详解
网上看到这篇文章,这里记录学习一下。用????Lombok,让 Java 更简洁 - ENCODE the WORLD零、 历史 一个标准的 Java bean。一个典型的 Java bean 一般具有几个属性。每个属性具有一个accessor和mutator(getter和setter)。通常还会有一个toString()方法、一个equals()方法和一个hashCode()方法。初看上去,其中可预见的冗余就已经非常多了。如果每个属性都具有一个 getter 和...转载 2022-02-15 17:16:19 · 13947 阅读 · 1 评论 -
maven pom relativePath属性的作用
搭建maven项目,子模块指定父模块试,经常会在parent下面出现relativePath类似下面:<parent> <groupId>net.itxw</groupId> <artifactId>test</artifactId> <version>0.0.1-SNAPSHOT</version> <relativePath/></parent>这个<parent>转载 2021-12-22 14:41:06 · 13819 阅读 · 0 评论 -
dependency中的scope说明
Maven的一个哲学是惯例优于配置(Convention Over Configuration), Maven默认的依赖配置项中,scope的默认值是compile,项目中经常傻傻的分不清,直接默认了。今天梳理一下maven的scope。scope的分类compile 默认就是compile,什么都不配置也就是意味着compile。compile表示被依赖项目需要参与当前项目的编译,当然后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去。t...转载 2021-12-21 16:39:10 · 7347 阅读 · 0 评论 -
dependency中的type说明
dependency为什么会有type为pom,默认的值是什么? dependency中type默认为jar即引入一个特定的jar包。 那么为什么还会有type为pom呢?当我们需要引入很多jar包的时候会导致pom.xml过大,我们可以想到的一种解决方案是定义一个父项目,但是父项目只有一个,也有可能导致父项目的pom.xml文件过大。这个时候我们引进来一个type为pom,意味着我们可以将所有的jar包打包成一个pom,然后我们依赖了pom,即可以下载下来所有依赖的ja...转载 2021-12-21 16:33:17 · 3215 阅读 · 0 评论 -
dependencyManagement与dependencies区别
一、dependencyManagement应用场景 为了项目的正确运行,必须让所有的子模块使用依赖项的统一版本,必须确保应用的各个项目的依赖项和版本一致,才能保证测试的和发布的是相同的结果。在我们项目顶层的pom文件中,我们会看到dependencyManagement元素。通过它元素来管理jar包的版本,让子项目中引用一个依赖而不用显示的列出版本号。Maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用在这个dependenc...转载 2021-12-21 14:47:31 · 947 阅读 · 0 评论 -
Redis:缓存穿透/缓存击穿/缓存雪崩,解决方案
这篇文章来自于网络,这里直接转载记录一下,供大家学习参考。1、前言 日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题。 一旦涉及大数据量的需求,如一些商品抢购的情景,或者主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度问题有严重的性能弊端,详细的磁盘读写原理请参考这一片[]。 在这一瞬间成千上万的请求到来,需要系统在极短的时间内完成成千上万次的读...原创 2021-11-24 11:03:34 · 2300 阅读 · 0 评论