德刑君
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

OpenRewrite 深度实战:自动化代码重构、Java 迁移与 Spring Boot 升级

欢迎你来读这篇博客,这篇博客主要是关于 OpenRewrite 的原理、使用方式和实战落地。 它不是一个“格式化工具”,也不是简单的“全局替换工具”,而是一个面向大规模代码库的自动化重构与迁移工具。对于 Java 后端项目来说,OpenRewrite 特别适合处理 Spring Boot 升级、JDK 升级、JUnit 迁移、依赖治理和老 API 清理这类重复但又容易出错的工作。
2026-06-12
Java
#Spring Boot #Java #Maven #DevOps #Gradle #OpenRewrite #自动化重构

Renovate 与 OpenRewrite:从依赖升级到代码自动迁移的工程化实践

欢迎你来读这篇博客,这篇博客主要是关于 Renovate + OpenRewrite 的整合实践。 如果只用 Renovate,我们可以自动发现依赖新版本,并创建升级 MR;如果只用 OpenRewrite,我们可以自动重构代码、迁移 API、替换配置。但真正的企业项目里,最麻烦的往往不是“有没有新版本”,而是: 依赖升级之后,代码、配置、测试、构建脚本也要跟着改。 所以这篇文章要讲的是一个更
2026-06-12
Java
#Spring Boot #Maven #GitLab #DevOps #CI/CD #Renovate #OpenRewrite

jMolecules 深度实战:让 DDD 与架构规则真正写进 Java 代码

欢迎你来读这篇博客,这篇博客主要是关于 jMolecules 的深入介绍和工程化实战。 如果说 ArchUnit 是“架构警察”,Spring Modulith 是“模块边界管理员”,那么 jMolecules 就像是给代码里的每个类发一张“架构身份证”:这个类是聚合根、这个类是值对象、这个接口是仓储、这个包是领域层、这个包是基础设施层。没有身份证也能写代码,但项目大了以后,谁是谁真的很重要。
2026-06-12
Java > Architecture
#Spring Boot #jMolecules #DDD #ArchUnit #Spring Modulith #架构治理

IntelliJ IDEA 代码格式化深度实战:从个人快捷键到团队规范治理

代码格式化看起来是一个“小问题”,但在真实团队里,它往往会变成代码评审噪音、无意义 diff、多人协作冲突、CI 失败、甚至规范争论的来源。 这篇文章不只讲 Ctrl + Alt + L / ⌘ + ⌥ + L 怎么按,而是从 IntelliJ IDEA 本地格式化、EditorConfig 跨 IDE统一、Maven/Gradle 自动化格式化、CI 强制校验、团队迁移策略、
2026-06-12
Java
#Spring Boot #Java #IntelliJ IDEA #Code Style #EditorConfig #Spotless #Checkstyle

IntelliJ IDEA 无鼠标开发深度实战:从快捷键到键盘流工作流

欢迎你来读这篇博客,这篇博客主要是关于 IntelliJ IDEA 无鼠标开发实战。 很多人学快捷键的方式是:收藏一张快捷键大全,然后三天后忘得干干净净。真正的无鼠标开发不是背快捷键,而是重建一套“键盘驱动的开发工作流”:找文件、跳代码、写代码、重构、调试、提交、跑命令,全程尽量不让手离开键盘。
2026-06-12
工具效率
#Spring Boot #Java #IntelliJ IDEA #JetBrains #快捷键 #无鼠标开发

Spring Modulith 深度实践:从单体系统到模块化单体架构

欢迎你来读这篇博客,这篇博客主要是关于 Spring Modulith 的深度介绍与工程实战。 如果你正在维护一个越来越大的 Spring Boot 单体项目,或者你想做 DDD、COLA、模块化单体、未来可拆微服务的架构演进,那么 SpringModulith 非常值得认真研究。
2026-06-12
Java
#Spring Boot #Java #DDD #Spring Modulith #Modular Monolith #Architecture

ShedLock 深入解析:Spring Boot 分布式定时任务锁的原理与生产实战

欢迎你来读这篇博客,这篇博客主要围绕 ShedLock 展开:它是什么、解决什么问题、底层原理是什么、如何在 Spring Boot 3.x项目中落地,以及在生产环境里应该怎么配置、怎么验证、怎么避坑。 如果你有多实例部署的 Spring Boot 服务,并且项目里存在 @Scheduled 定时任务,那么这篇文章基本就是给你的。因为普通的@Scheduled 在单机时代岁月静好,一旦服务扩容到
2026-06-12
Java
#Spring Boot #Java #Redis #ShedLock #Scheduled #Distributed Lock #PostgreSQL

libphonenumber 深度介绍与 Spring Boot 实战:手机号校验、解析、格式化与统一存储

欢迎你来读这篇博客,这篇博客主要是关于 Google 开源工具库 libphonenumber 的介绍与工程化实战。 它不是一个简单的“手机号正则校验工具”,而是一个用于处理全球电话号码规则的基础设施级工具。本文会从基础概念讲起,然后结合 Java 与 Spring Boot 3.x 给出一套可落地的实践方案。
2026-06-12
Java
#Spring Boot #Java #libphonenumber #手机号校验 #工程实践

基于 Spring Boot 3 的电商模块化单体实战:整合 ArchUnit、Spring Modulith 与 jMolecules

欢迎你来读这篇博客,这篇博客主要围绕 Spring Boot 3 电商系统,深入讲解如何把 ArchUnit、Spring Modulith、jMolecules 三个工具整合到一个可落地的模块化单体架构中。 如果只看单个工具,ArchUnit 像“架构测试工具”,Spring Modulith 像“模块化单体治理框架”,jMolecules 像“DDD 语义标记库”。但真正有价值的地方,不是把三
2026-06-12
Java
#Spring Boot #jMolecules #DDD #ArchUnit #Spring Modulith #模块化单体 #电商架构

Togglz 深入解析与 Spring Boot 3 实战:让功能发布变成“可控开关”

欢迎你来读这篇博客,这篇博客主要是关于 Togglz 的深入解析与工程化实战。 Togglz 是 Java 生态里的 Feature Flag / Feature Toggle 工具。它可以让我们把“代码上线”和“功能开放”拆开:代码可以先发布到生产环境,但功能是否真正对用户生效,可以通过开关动态控制。
2026-06-12
Java
#Spring Boot #Java #Togglz #Feature Flag #灰度发布 #持续交付

Maven Build Cache Extension 深入实战:让 Maven 多模块构建快起来

欢迎你来读这篇博客,这篇博客主要是关于 Maven Build Cache Extension 的使用、原理、配置、远程缓存、CI 落地和常见问题排查。 如果你的项目是一个比较大的 Maven 多模块工程,每次 mvn clean install 都像是在泡一壶很慢的茶,那么 Maven Build CacheExtension 就值得认真看看。它不是银弹,但在合适的工程里,确实能把构建时间从“等
2026-06-12
Java
#Java #Maven #Build Cache #CI/CD

Maven Daemon mvnd 深入实战:从 Maven 3.9+ 平滑迁移到 mvnd

欢迎你来读这篇博客,这篇博客主要是关于 Maven Daemon,也就是 mvnd。 如果说 mvn 是每次构建都重新起炉灶,那么 mvnd 就是让 Maven 后厨一直热着锅:JVM 不用每次重新启动,Maven 插件类加载器可以复用,JIT编译后的热点代码也能继续发挥作用。对于多模块 Java 项目,尤其是 Spring Boot / Spring Cloud 工程,这个优化非常实在
2026-06-12
Java
#Java #Maven #CI/CD #mvnd #Maven Daemon #构建优化

Spring Boot 3.5 整合 Spring Data JPA 与 ShardingSphere-JDBC 生产实践

欢迎你来读这篇博客,这篇博客主要是关于 Spring Boot 3.5、Spring Data JPA 和 Apache ShardingSphere-JDBC 的工程化整合。 很多文章讲 ShardingJDBC,最后只停留在“配置两个数据源,然后插入一条数据”。这篇文章会换一个角度:把它放到真实 Spring Boot后端工程里看,重点讨论版本选择、工程结构、JPA 实体设计、审计字段、主键策
2026-06-11
Java
#Spring Boot #Spring Data JPA #Hibernate #ShardingSphere #ShardingJDBC #分库分表

Spring Boot 3.5 整合 Apache ShardingSphere 5.5.3 深度实践

欢迎你来读这篇博客,这篇博客主要是关于 Spring Boot 3.5 整合 Apache ShardingSphere 5.5.3 的工程化实践。 这篇文章不会只停留在“配置两个库、插一条数据”的入门层面,而是尽量把 ShardingSphere 的定位、架构、功能边界、Spring Boot 3.5接入方式、分库分表、读写分离、分布式事务、加密、脱敏、影子库、Proxy、DistSQL、数据迁
2026-06-11
Java
#Spring Boot #Spring #ShardingSphere #分库分表 #数据库中间件

Spring Boot 日志链路追踪:MDC、Logback、TTL、TLog 与 APM 选型实战

欢迎你来读这篇博客,这篇博客主要是关于 Spring Boot 日志链路追踪 的落地方案。 本文会从 MDC + Logback + TTL 的自研方案讲起,再分析 TLog、SkyWalking、OpenTelemetry、Micrometer Tracing、Zipkin、Jaeger、Grafana Tempo、Elastic APM、Pinpoint、SigNoz、Datadog、New
2026-06-11
Java
#Spring Boot #Logback #MDC #TTL #TLog #SkyWalking #OpenTelemetry #APM

Java 反射机制详解:原理、Class 类、类加载与反射调用优化

欢迎你来读这篇博客,这篇博客主要系统梳理 Java 反射机制。 本文会从反射是什么开始,逐步讲到反射原理、Class 类、获取 Class 对象的方式、动态加载与静态加载、类加载流程、反射获取类结构、反射创建对象、操作属性、调用方法,以及反射调用优化。
2026-06-11
Java
#Java #JVM #反射 #类加载

Java 线程详解:从创建、协作、生命周期到中断机制

欢迎你来读这篇博客,这篇博客主要是关于 Java 线程。线程是 Java 并发编程的入口,也是很多线上问题的起点:接口偶发超时、任务卡死、线程池打满、死锁、异步任务无法退出、服务关闭很慢,这些问题背后基本都绕不开线程。 如果用一句话概括:线程是程序中一条独立的执行路径,而 Java 提供了一套从线程创建、调度、协作、等待、唤醒到取消的完整机制。真正写好并发代码,不只是会 new Thread(),
2026-06-11
Java
#Java #多线程 #Thread #并发编程 #JDK21

Java Optional

Java Optional 很好,但别把它当万能锤子
2026-06-11
Java
#Java #杂谈

Java Steam

Java Streams 很好,但别把它当万能锤子
2026-06-11
Java
#Java #杂谈

人工智能简述:从 ChatGPT 到 AI 时代

欢迎你来读这篇博客,这篇博客主要是关于人工智能简述。它不会把 AI写成一个玄学概念,也不会只停留在“模型很厉害”这种表层兴奋里,而是尝试从技术、产品、产业、社会影响和个人应对几个角度,把这轮 AI浪潮讲清楚。 如果用一句话概括:人工智能不是一个新名词,但 ChatGPT 之后的人工智能变成了一种新的通用生产力入口。它开始从实验室、论文、算法竞赛,走向普通人的工作台、企业的业务系统,以及未来社会的基
2026-06-10
AI
#人工智能 #ChatGPT #大语言模型 #AIGC #Agent
123456…10

搜索

德刑君 GitHub
总访问量 次 总访客数 人