- 博客(179)
- 资源 (20)
- 收藏
- 关注
原创 不好意思,HttpClient 该换了!使用retrofit-spring-boot-starter
在分布式服务架构中,对不稳定的外部服务进行熔断降级是保证服务高可用的重要措施之一。由于外部服务的稳定性是不能保证的,当外部服务不稳定时,响应时间会变长。相应地,调用方的响应时间也会变长,线程会产生堆积,最终可能耗尽调用方的线程池,导致整个服务不可用。基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能。
2025-07-25 13:33:44
1057
原创 ThreadLocal 不香了?ScopedValue才是王道?
ThreadLocal 曾经是 Java 并发编程的 “神器”,但在虚拟线程和高并发场景下,它的弊端逐渐暴露。ScopedValue 的出现,为我们提供了一种更安全、更高效的上下文管理方式,尤其在虚拟线程的加持下,它成为了 ThreadLocal 的完美替代。作为开发者,我们需要不断学习和拥抱变化,掌握新技术、新特性,才能在快速发展的技术浪潮中立于不败之地。下次遇到线程间数据传递的问题时,不妨试试 ScopedValue,或许会给你带来意想不到的惊喜。
2025-07-16 13:27:56
906
原创 spring事务注解@Transactional避坑
客户端 → Spring代理 → 目标方法createOrder() → 内部this.updateStock()(绕过代理)// 这里会进入真实对象的createOrder()// 注入自己的代理。// 步骤2(如果这里抛异常)this.updateStock();// 步骤2(内部调用!// 内部调用抛出异常。// 内部调用抛出异常 }// 它直接调用的是真实对象的updateStock(),完全绕过了代理。
2025-07-16 10:35:00
613
原创 Cursor或者Trae中使用idea快捷键
在vscode里面,每个区域都是通过对应代码来配置颜色的,可以去 「Darcula Theme」配置里面找到你想要设置的位置,复制到setting里面去(相当于覆盖主题颜色)在进行rest接口测试的时候,通常是先启动项目,再用 postMan相关的工具进行调试,这本身没啥问题,但每次模拟参数的时候却很麻烦。有时候需要在Cursor和IDEA来回切换,这个插件可以很方便的切换,它会帮你自动切换,并定位到项目的同一行。选中右边的识别键盘之后,按下对应的快捷键,就可以看到对应的快捷键的使用情况了。
2025-07-15 14:23:12
807
原创 如何理解java的设计思想依赖倒置?
public UserService(Database database) { // 依赖注入(构造器注入)System.out.println("MongoDB 存储数据: " + data);System.out.println("MySQL 存储数据: " + data);System.out.println("MySQL 存储数据: " + data);System.out.println("支付宝支付: " + amount);// 3. 高层模块依赖抽象(接口)// 高层模块(直接依赖低层)
2025-06-26 14:33:23
462
原创 为什么模块A跟模块B互相不依赖,但是都依赖模块c,如果模块A要用到模块B的代码,在模块c中定义接口,实现在模块B中就能调用了,这是什么原理
模块 C 作为公共依赖,定义了一个接口(如。
2025-06-26 14:27:09
859
原创 springboot中引入activemq的一个坑
生成环境忘记配置activemq的地址了,然后 @Resource private JmsTemplate jmsTemplate;springboot这个还能调用成功?是不是有个默认的?在Spring Boot中,如果你没有配置ActiveMQ的连接信息,仍然能够被注入,但它的行为取决于你的具体配置和依赖情况。
2025-06-24 17:19:03
444
原创 为什么swagger或者kniff的/v2/api-docs 拦截了还是不生效?
antMatchers("/v2/api-docs").denyAll() // 直接拒绝访问。确实,这个端点比较特殊,它不经过常规的 Spring MVC 拦截器。是 Spring MVC 层面的,只在 DispatcherServlet 处理的请求中生效。// 完全禁用 Swagger。是由 Swagger 的内部处理机制直接处理的,不经过常规的 MVC 流。是 Servlet 层面的,所有请求都会经过 Filter。// 或者要求特定权限。你提到的问题是关于如何拦截 Swagger 的。
2025-06-15 11:36:13
723
原创 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
这个报错是不是很难受?看看你的mapper方法,对应的xml代码有没有。
2025-06-14 11:16:26
86
原创 若依框架中权限字符(perms)的作用
结构清晰权限与功能点一一对应便于管理和维护扩展性好易于添加新权限支持细粒度控制使用方便前端可以直接根据权限控制显示后端可以直接使用注解控制访问维护简单权限变更只需修改菜单表角色权限通过关联表管理所以,权限字符(perms)设计在菜单表中是最合理的选择,它能够更好地支持权限管理系统的实现和维护。
2025-06-12 09:38:05
670
原创 ignore文件不生效的问题
你的 .gitignore 配置没问题。只要文件被 Git 跟踪过,.gitignore 就不会生效,必须用 git rm --cached 解除跟踪。参考命令:bashRun这样就可以了!
2025-06-05 13:57:33
423
原创 使用DataGrip链接达梦数据库
loginEncrypt=False 这种格式来填写,一些配置参数(如loginEncrypt)可以在达梦的官网找到。在对达梦数据库进行适配的时候,苦于没有什么图形化客户端工具去看数据库数据,于是研究了下添加DataGrip的。datagrip(显然,自备绿色补丁,Pycharm等也可以) 找到对应的达梦数据库版本的JDBC驱动(这个类,记得换一个名称,这里我们叫DM8,点击确定。填写相关的配置,主要就是这个JDBC的URL,请参考。填好用户名密码,点击测试,发现就可以成功链接了。
2025-05-21 15:39:42
789
原创 linux编译安装nginx
2. **检查nginx可执行文件是否存在**:(可以直接去nginx目录看)3. 源码目录中的 objs/nginx.conf 文件是否存在?2. make install 命令执行后是否有错误输出?1. configure 命令执行后是否有错误输出?# 检查make install是否成功。# 检查configure是否成功。# 如果不存在,创建nginx用户。如果之前有安装失败了,就先删除。# 检查nginx用户是否存在。# 重新加载systemd配置。# 检查nginx可执行文件。
2025-05-13 09:31:33
568
原创 熬夜调研:从IDEA迁移到Cursor后,我的工作效率提升了40%!
真实项目中,我推荐以下工作流程:需求分析:先用Chat模式头脑风暴"如何实现XX功能最优雅?"有哪些潜在的性能问题?让AI帮你梳理技术方案,避免挖坑代码实现:再用Agent模式生成框架提供详细上下文(包括依赖、现有模式)分步实现,每步验证(避免一次生成太多代码)实时审核,确保符合团队规范测试优化:最后用Edit模式精雕细琢生成单元测试覆盖边界条件请求性能优化建议(SQL、缓存等)做最后的代码审查实战案例:最近我用这个流程,2天实现了原计划1周的功能,领导都惊了!
2025-05-08 09:59:36
1867
1
转载 四种 API 架构风格
REST 就能做到。这些观点的问题在于,它们的出发点只是为某种技术背书,而不是去考虑它实际的属性和特性如何与当前的需求相匹配。SOAP 严格的消息结构,安全性和授权功能使其成为在 API 和客户端之间执行正式软件协议的最合适的选择,同时又符合 API 提供者与 API 使用者之间的法律合同。服务端在接受到消息后,将信息的内容反序列化,执行所请求的操作,然后将结果发送回客户端。归根结底,去针对一些小型的用例来尝试某种特定 API 架构,并去了解它是否适合你的用例以及是否解决了你的问题,这样做是比较合适的。
2025-04-10 13:38:09
108
原创 redis长时间未请求,无法自动重连,报异常org.springframework.data.redis.RedisSystemException
disconnectedBehavior(ClientOptions.DisconnectedBehavior.REJECT_COMMANDS) // 断开连接时拒绝命令。.pingBeforeActivateConnection(true) // 连接前PING测试。.shutdownTimeout(Duration.ofSeconds(2)) // 增加关闭超时时间。.commandTimeout(Duration.ofSeconds(5)) // 增加命令超时时间。
2025-03-17 09:43:14
628
原创 cenos 安装 /usr/local/nginx/sbin/nginx这个路径的nginx
首先,用户执行了`ls -l /usr/local/nginx/sbin/nginx`,确认了Nginx的可执行文件存在,权限是正常的(-rwxr-xr-x),说明安装步骤已经成功完成。然后,检查防火墙设置,确保80端口是开放的。然后,下载源代码包,解压,配置configure选项,这里要指定--prefix=/usr/local/nginx,这样安装路径就正确了。此外,安全方面的考虑,比如是否需要配置SELinux或防火墙,可能需要进一步指导,但用户当前的问题可能集中在安装步骤,所以暂时不提也可能。
2025-02-20 22:55:22
1004
原创 docker拉取镜像Get “https://registry-1.docker.io/v2/“: net/http: request cancele 报错
2、重新加载配置文件及docker服务。
2025-02-20 14:40:41
238
原创 编写dockercompose脚本,管理redis,activemq,mysql5.7
编写dockercompose脚本,管理redis,activemq,mysql5.7,mysql的root密码设置Duke@2007,redis密码设置duke0591。
2025-02-20 12:06:10
889
原创 ActiveMQ5 jdk1.8版 下载,安装与配置
ActiveMQ5 jdk1.8版 下载,安装与配置_activemq jdk1.8-CSDN博客
2025-02-19 16:02:37
410
原创 sudo systemctl start dockerSee “systemctl status docker.service“ and “journalctl -xe“ for details
docker启动报错怎么说都是cursor的很强大搞了很久,一直改demon数据,也问了deepseek ,问了cursor。直接重装就完事了sudo systemctl start docker Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details. 我是
2025-02-19 16:02:18
405
原创 docker 镜像迁移到另一个服务器
原文链接:https://blog.csdn.net/weixin_39209728/article/details/120045233。jeecg-boot:lastest为镜像名,lastest:镜像版本号, jeecg-boot.tar为新生成的静态文件名。注意 进入服务器刚刚上传的目录下 进行镜像恢复,并导入docker管理器。3.将静态文件还原为镜像, 并导入docker。2.通过将scp将静态文件发送到服务端。1.将docker镜像导出为静态文件。也可以通过ftp 此处省略。
2025-02-19 11:37:55
647
原创 /etc/docker/daemon.json这个跟/etc/yum.repos.d/docker-ce.repo这个文件的关系
因此,这两个文件在 Docker 的环境中各自独立工作,共同为 Docker 的使用提供支持。
2025-02-19 10:36:26
358
原创 记录让cursor帮我给ruoyi-vue后台管理项目整合mybatis-plus
work.web.exception.GlobalExceptionHandler :100 | 请求地址'/admin/device/install/detail/1',发生未知异常.然后就整合成功了,启动发现没问题了,ruoyi本身的框架查询也没问题了,好强大!直接跟它说项目需要新增mubatis-plus的支持,并提供测试,就可以做到了。给cursor提问的方式有很大区别。自己整合过程中会出现。
2025-01-24 18:47:56
1200
原创 Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Clien
etc/docker/daemon.json 添加。docker下载镜像遇到网络问题。
2025-01-22 10:36:13
347
原创 jvm_threads_live_threads 和 jvm_threads_states_threads 这两个指标之间存在一定的关系,但它们关注的维度不同
这两个指标之间存在一定的关系,但它们关注的维度不同。用于分析线程的状态分布,帮助定位性能问题(如线程阻塞、死锁等)。用于监控线程的总数,帮助判断是否存在线程泄漏或线程数异常增长。表示当前 JVM 中存活的线程总数(即当前活动的线程数)。表示当前 JVM 中处于不同状态的线程数。:JVM 启动以来的最大线程数。:无限期等待状态的线程数。:有限期等待状态的线程数。中所有状态线程数的总和。:当前存活的守护线程数。:当前存活的线程总数。:可运行状态的线程数。:新建状态的线程数。:阻塞状态的线程数。
2025-01-21 17:32:47
913
spring mvc注释文档
2012-07-18
使用MySQL设计企业OA系统的数据库课程设计文档
2024-02-20
linux常用命令大全.docx
2024-02-20
demo-html2pdf
2024-02-20
mybatis或者mybatis-plus生成代码工具项目,适合任何项目,自定义生成文件路径,拷贝java文件即可(可用作毕设)
2024-01-04
c++实现停车场管理系统
2011-11-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人