<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[记录点滴]]></title><description><![CDATA[心所愿，力必至！]]></description><link>https://blog.csdn.net/LDY1016</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; LDY1016]]></copyright><item><title><![CDATA[Spring AI + MCP 手把手教你如何将后端服务改造成MCP服务]]></title><link>https://blog.csdn.net/LDY1016/article/details/156185471</link><guid>https://blog.csdn.net/LDY1016/article/details/156185471</guid><author>LDY1016</author><pubDate>Tue, 23 Dec 2025 10:38:22 +0800</pubDate><description><![CDATA[本文介绍了如何将SpringBoot服务改造成MCP架构的实践过程。首先需要SpringBoot 3.4.x及以上版本和JDK17。服务端开发包括添加MCP依赖、配置工具类注解(@Tool)和注册工具方法；客户端开发则需配置大模型(如DeepSeek)API和MCP服务端地址。通过一个统一聊天接口，AI能自动识别并编排工具调用顺序，实现智能服务。文中展示了公司信息查询的完整案例，包括服务端日志和客户端调用效果，验证了MCP架构的可行性。]]></description><category></category></item><item><title><![CDATA[springboot 升级到3.5.x后knife4j 文档无法识别问题解决]]></title><link>https://blog.csdn.net/LDY1016/article/details/149561887</link><guid>https://blog.csdn.net/LDY1016/article/details/149561887</guid><author>LDY1016</author><pubDate>Wed, 23 Jul 2025 09:59:55 +0800</pubDate><description><![CDATA[摘要：SpringBoot升级到3.5.x后，访问接口文档报错，原因是knife4j4.5.0依赖的springdoc-openapi-starter-webmvc-ui版本过低。解决方案为：1)排除knife4j中的低版本依赖；2)单独引入springdoc-openapi-starter-webmvc-ui2.8.13；3)关闭knife4j文档增强功能(knife4j.enable=false)。此方案会绕过文档密码验证，建议仅用于开发环境，待官方发布新版本后再进行完整升级。]]></description><category></category></item><item><title><![CDATA[springboot 修复 Spring Framework 特定条件下目录遍历漏洞（CVE-2024-38819）]]></title><link>https://blog.csdn.net/LDY1016/article/details/143360142</link><guid>https://blog.csdn.net/LDY1016/article/details/143360142</guid><author>LDY1016</author><pubDate>Wed, 30 Oct 2024 11:25:27 +0800</pubDate><description><![CDATA[刚解决Spring Framework 特定条件下目录遍历漏洞（CVE-2024-38816）没几天，又来一个新的，真是哭笑不得啊。不过没关系，springboot官方又发布了新的版本3.3.5，将项目升级到该版本即可从springboot2.x升级到3.x请查看springboot2.x升级到3.x实战经验总结。]]></description><category></category></item><item><title><![CDATA[springboot3.x使用@NacosValue无法获取配置信息问题解决]]></title><link>https://blog.csdn.net/LDY1016/article/details/143116113</link><guid>https://blog.csdn.net/LDY1016/article/details/143116113</guid><author>LDY1016</author><pubDate>Mon, 21 Oct 2024 16:54:05 +0800</pubDate><description><![CDATA[要实现取值和动态刷新，显然通过实验证明使用@NacosValue是不得行了，因为使用了Spring Cloud的依赖包，所以根据官方文档显示，要通过 Spring Cloud 原生注解 @RefreshScope。在程序执行过程中，appId的值为null（没有取到），配置文件中确定有这个配置项，于是我尝试了一下使用@Value来取值，发现能正常取到，但是我还需要动态刷新的功能，要怎么做呢？springboot从2.x升级到3.x后，nacos的依赖包需要改成Spring loud的依赖包才能继续使用。]]></description><category></category></item><item><title><![CDATA[springboot2.x升级到3.x后restTemplate请求微信接口报错412 Precondition Failed: [no body] 问题解决]]></title><link>https://blog.csdn.net/LDY1016/article/details/143050807</link><guid>https://blog.csdn.net/LDY1016/article/details/143050807</guid><author>LDY1016</author><pubDate>Fri, 18 Oct 2024 13:16:45 +0800</pubDate><description><![CDATA[最近将老项目从springboot2.x升级到3.x中，遇到了很多的坑，每个服务的业务不一样，坑也不都完全相同，我在改造微信相关服务的后台过程中，遇到了该异常，如图所示。微信会检查Content-Length参数，但Spring Framework 6.1以后请求不再设置该参数。自己在http header中自己设置Content-Length就行了，示例代码如下。]]></description><category></category></item><item><title><![CDATA[springboot 修复 Spring Framework 特定条件下目录遍历漏洞（CVE-2024-38816）]]></title><link>https://blog.csdn.net/LDY1016/article/details/142908982</link><guid>https://blog.csdn.net/LDY1016/article/details/142908982</guid><author>LDY1016</author><pubDate>Mon, 14 Oct 2024 09:23:25 +0800</pubDate><description><![CDATA[springboot2.x升级到3.x实战经验总结安全版本6.0.24 和 6.1.13 是springboot3.x使用的版本，springboot3.x的用户只需要将springboot升级到最新版本即可，官方已发布最新版本，如下图所示，springboot3.2以下版本已不再提供更新维护。祝大家升级顺利！]]></description><category></category></item><item><title><![CDATA[springboot3.x集成mybatis-plus代码生成工具]]></title><link>https://blog.csdn.net/LDY1016/article/details/142848395</link><guid>https://blog.csdn.net/LDY1016/article/details/142848395</guid><author>LDY1016</author><pubDate>Fri, 11 Oct 2024 11:02:29 +0800</pubDate><description><![CDATA[【代码】springboot3.x集成mybatis-plus代码生成工具。]]></description><category></category></item><item><title><![CDATA[java实现根据延迟法定退休政策计算退休年龄]]></title><link>https://blog.csdn.net/LDY1016/article/details/142257112</link><guid>https://blog.csdn.net/LDY1016/article/details/142257112</guid><author>LDY1016</author><pubDate>Sat, 14 Sep 2024 14:17:02 +0800</pubDate><description><![CDATA[从2025年1月1日起，男职工和原法定退休年龄为五十五周岁的女职工，法定退休年龄每四个月延迟一个月，分别逐步延迟至六十三周岁和五十八周岁；原法定退休年龄为五十周岁的女职工，法定退休年龄每二个月延迟一个月，逐步延迟至五十五周岁。国家另有规定的，从其规定。运行结果与对照表一致。]]></description><category></category></item><item><title><![CDATA[javax.net.ssl.SSLException: closing inbound before receiving peer‘s close_notify 错误解决，同时支持开启SSL认证]]></title><link>https://blog.csdn.net/LDY1016/article/details/138149442</link><guid>https://blog.csdn.net/LDY1016/article/details/138149442</guid><author>LDY1016</author><pubDate>Wed, 24 Apr 2024 10:56:43 +0800</pubDate><description><![CDATA[最近将springboot从2.x升级到3.x后，服务后台一直报javax.net.ssl.SSLException: closing inbound before receiving peer‘s close_notify 异常，但是服务可以正常访问。通过上述依赖包替换后，控制台不再报javax.net.ssl.SSLException: closing inbound before receiving peer‘s close_notify 异常，问题成功解决！不需要SLL认证的话可以这样处理。]]></description><category></category></item><item><title><![CDATA[springdoc-openapi-用户界面如何将请求设置为HTTPS]]></title><link>https://blog.csdn.net/LDY1016/article/details/137273076</link><guid>https://blog.csdn.net/LDY1016/article/details/137273076</guid><author>LDY1016</author><pubDate>Tue, 02 Apr 2024 16:05:14 +0800</pubDate><description><![CDATA[当我们的服务接口需要通过HTTPS访问时，通过swagger可视化页面请求接口的时候，发起的是HTTP请求，导致请求无法到达后端，影响测试。列表中选择指定的接口根路径即可，接口根路径会根据你的选择自动变更。SpringDoc的配置类中注入配置信息，并设置服务列表。如图所示，在swagger页面的。1、将服务的地址添加到配置文件中。]]></description><category></category></item><item><title><![CDATA[springboot3.x集成nacos 并实现多环境配置]]></title><link>https://blog.csdn.net/LDY1016/article/details/136502907</link><guid>https://blog.csdn.net/LDY1016/article/details/136502907</guid><author>LDY1016</author><pubDate>Thu, 07 Mar 2024 13:10:45 +0800</pubDate><description><![CDATA[​

springboot3.0.x 和springboot3.1.x 可直接使用nacos-config-spring-boot-starter 包。
springboot >=3.2.x 需要使用spring-cloud-starter-alibaba-nacos-config包，因为常规包在我发布该文时nacos官方还没更新，已更新的版本只支持到3.1.x，cloud的包2024年4月份进行了更新，可以支持3.2.x及以上版本。]]></description><category></category></item><item><title><![CDATA[springboot2.x升级到3.x实战经验总结]]></title><link>https://blog.csdn.net/LDY1016/article/details/136499836</link><guid>https://blog.csdn.net/LDY1016/article/details/136499836</guid><author>LDY1016</author><pubDate>Wed, 06 Mar 2024 16:16:07 +0800</pubDate><description><![CDATA[随着Spring Framework URL解析不当漏洞（CVE-2024-22243）的发布，springboot升级到3.x迫在眉睫，2.x的版本官方并未提供该漏洞的修复版本，后续应该也不会再发布新的版本。2.x升级到3.x是一次大的跨越，接下来，本人结合实践经验，浅淡一下需要注重的地方。]]></description><category></category></item><item><title><![CDATA[springboot3.x集成SpringDoc Swagger3]]></title><link>https://blog.csdn.net/LDY1016/article/details/136502829</link><guid>https://blog.csdn.net/LDY1016/article/details/136502829</guid><author>LDY1016</author><pubDate>Wed, 06 Mar 2024 16:09:16 +0800</pubDate><description><![CDATA[近期将springboox2.x升级到了3.x，索性将swagger2也同步升级到swagger3。本人提供的解决方案就是通过过滤器的方式对请求进行验证，请求的时候需要在链接后面加上我们自定义的token参数，通过验证token判断是否是合法的访问，注意，添加过滤器后需要在启动类上加上]]></description><category></category></item><item><title><![CDATA[easypoi导出excel在苹果端微信内打不开问题解决]]></title><link>https://blog.csdn.net/LDY1016/article/details/136372520</link><guid>https://blog.csdn.net/LDY1016/article/details/136372520</guid><author>LDY1016</author><pubDate>Thu, 29 Feb 2024 15:34:15 +0800</pubDate><description><![CDATA[出现这种情况，用户可以选择用其他软件打开，但是体验不太好，用户会认为文件有问题，其实用wps等办公软件是能够正常打开的，那么如何解决在微信内打开的问题呢？后端通过easypoi导出的数据在mac或者苹果手机上的微信内打不开，在安卓或者windows端的微信内打开正常。其实很简单，只需要在代码里面。]]></description><category></category></item><item><title><![CDATA[spring boot 修复 Spring Framework URL解析不当漏洞（CVE-2024-22243）]]></title><link>https://blog.csdn.net/LDY1016/article/details/136351064</link><guid>https://blog.csdn.net/LDY1016/article/details/136351064</guid><author>LDY1016</author><pubDate>Wed, 28 Feb 2024 17:34:32 +0800</pubDate><description><![CDATA[一开始我们尝试直接替换spring-web的版本，但是只替换这一个包的话项目启动会报错，通过实践和反复尝试，我们对spring相关的jar包都进行了覆盖，这样可以保持springboot的版本号不变。如果现有项目的大版本是3.x，直接升级即可，但是有些老项目还停留在2.x的版本，官方并没有针对2.x发布新版本，从2.x直接升级到3.x，代价又比较大。其它已经不受官方支持的版本(5.1.x,5.2.x)同样受到影响，更新到受官方支持的安全版本。查看 springboot的版本，只有最新的。]]></description><category></category></item><item><title><![CDATA[java Concurrent 线程安全的集合类]]></title><link>https://blog.csdn.net/LDY1016/article/details/134420671</link><guid>https://blog.csdn.net/LDY1016/article/details/134420671</guid><author>LDY1016</author><pubDate>Wed, 15 Nov 2023 15:09:58 +0800</pubDate><description><![CDATA[是一个线程安全的哈希表实现，它支持高并发的读写操作。它采用了分段锁的机制，将整个哈希表分成多个段，每个段都有一个独立的锁，不同的线程可以同时访问不同的段，从而提高并发性能。：是一个线程安全的动态数组实现，它通过在修改操作时创建一个新的数组来实现线程安全。它支持高并发的读写操作，并且提供了有序的遍历功能。：是一个线程安全的无界队列实现，它采用了无锁的并发算法，支持高并发的入队和出队操作。：是一个线程安全的双端队列实现，它采用了无锁的并发算法，支持高并发的入队和出队操作。：是一个线程安全的集合实现，它基于。]]></description><category></category></item><item><title><![CDATA[SpringBoot修复Spring AMQP反序列化漏洞（CVE-2023-34050）]]></title><link>https://blog.csdn.net/LDY1016/article/details/134081710</link><guid>https://blog.csdn.net/LDY1016/article/details/134081710</guid><author>LDY1016</author><pubDate>Fri, 27 Oct 2023 18:34:26 +0800</pubDate><description><![CDATA[问题描述：

2023年10月 Spring官方披露 CVE-2023-34050 Spring AMQP反序列化漏洞漏洞。由于 SimpleMessageConverter 或 SerializerMessageConverter 默认未配置白名单，导致可以反序列化任意类。新版本中在未配置白名单的情况下则不允许反序列化任意类。

解决的建议：
1.spring-amqp版本低于2.4.17的用户应升级到2.4.17
2.spring-amqp是3.0.0至3.0.9版本的用户应升级至3.0.10]]></description><category></category></item><item><title><![CDATA[swagger 未授权访问漏洞修复,这可能是你看到的最好的解决方案！]]></title><link>https://blog.csdn.net/LDY1016/article/details/133309749</link><guid>https://blog.csdn.net/LDY1016/article/details/133309749</guid><author>LDY1016</author><pubDate>Tue, 26 Sep 2023 15:22:13 +0800</pubDate><description><![CDATA[大多数人都是直接禁用swagger，这样一来就给开发人员带来了负担，因为需要解决接口文档的问题，相信大家用惯了swagger文档，都不愿意自己再去手动写接口文档了。swagger未授权访问主要的路径如下，根据版本不同或者自定义的路径，可能会有一定的差异，自定义路径的只需要把自己的路径添加进来即可。通过以上方式，即解决了swagger未授权访问的问题，又解决了通过token授权访问的问题！怎样才能方便的修复未授权访问的漏洞，同时又能通过验证正常访问swagger文档呢？的方式对请求进行验证，]]></description><category></category></item><item><title><![CDATA[springboot log4j2远程代码执行漏洞修复]]></title><link>https://blog.csdn.net/LDY1016/article/details/121850341</link><guid>https://blog.csdn.net/LDY1016/article/details/121850341</guid><author>LDY1016</author><pubDate>Fri, 10 Dec 2021 10:27:41 +0800</pubDate><description><![CDATA[一、影响范围

2.0&lt;=Apache log4j2&lt;=2.16.0
影响判断方式:用户只需排查Java应用是否引入log4j-api,log4j-core两个jar。若存在应用使用，极大可能会受到影响。

二、解决办法

1、排除log4j的依赖]]></description><category></category></item><item><title><![CDATA[springboot redis 高并发遇到的坑：io.netty.util.internal.OutOfDirectMemoryError: failed to allocate 901775360]]></title><link>https://blog.csdn.net/LDY1016/article/details/120427354</link><guid>https://blog.csdn.net/LDY1016/article/details/120427354</guid><author>LDY1016</author><pubDate>Thu, 23 Sep 2021 08:38:53 +0800</pubDate><description><![CDATA[这个是使用了lettuce的原因，lettuce有此bug，解决办法 改为使用jedis，具体操作如下

一、在pom.xml中添加排除lettuce包并添加jedis的依赖


&lt;!-- redis conf --&gt;
&lt;dependency&gt;
    &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
    &lt;artifactId&gt;spring-boot-starter-data-redis&lt;/arti]]></description><category></category></item></channel></rss>