springBoot
文章平均质量分 73
柯南二号
沉淀技术,为业务赋能
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java 时间 API 详解:LocalDate、Date 与 ZonedDateTime 的区别
类含义Date旧版时间对象LocalDate只有日期日期 + 时间 + 时区LocalDate = 生日ZonedDateTime = 国际航班时间Date = 历史遗留对象在现代 Java 开发中,推荐优先使用java.time包中的 API,它更加安全、清晰且功能强大。原创 2026-03-05 21:35:06 · 406 阅读 · 0 评论 -
【后端】【Java】使用SSE流式协议时候报错Caused by: java.lang.IllegalArgumentException: No suitable converter for 解决
摘要:本文分析了Spring Boot应用中SSE(Server-Sent Events)推送数据时出现的"No suitable converter"异常问题。问题根源在于SseEmitter.event()方法使用不当导致消息转换器无法识别数据类型。提供了两种解决方案:1)显式指定MediaType.APPLICATION_JSON参数;2)直接使用emitter.send()简化调用方式。文章详细说明了修改位置,包括AI对话流式响应和任务进度推送功能,并展示了修复后的正确数据流格式。通过重启服务验证,原创 2025-12-21 23:00:54 · 449 阅读 · 0 评论 -
【后端】【Java】一文详解为什么互联网公司更偏向 MyBatis,而不是 JPA?
SQL 复杂(多表 join / 子查询 / 聚合)📌 切换到 JPA 的收益不明显,但风险很大。下面我们从多个维度拆解这个选择背后的原因。👉 SQL 怎么写,数据库就怎么跑。这并不是“JPA 不好”,而是。DBA 会 review SQL。📌 JPA:绕路 or 放弃。数据量大(千万 / 亿级)一条方法 = 一条 SQL。MySQL 索引 Hint。📌 MyBatis:直接写。SQL 是否合理,一眼可见。性能要求极高(毫秒级)是否有索引,一看就知道。报表、推荐、统计频繁。原创 2025-12-16 23:51:07 · 1974 阅读 · 0 评论 -
【后端】【Java】Swagger 与 Spring Boot 2.6+ 版本不兼容的问题
将 Spring MVC 的路径匹配策略改回 ant_path_matcher,使其与 Swagger 兼容。- Swagger UI 可访问:http://localhost:8080/swagger-ui/如果您不需要 Swagger 文档功能,也可以选择删除 Swagger 相关依赖和配置类。- 所有 RESTful 接口正常工作。🚀 现在可以重新启动应用。原创 2025-12-16 00:07:15 · 390 阅读 · 0 评论 -
【后端】【Java】《Spring Boot 统一接口耗时统计实践:基于 HandlerInterceptor 的工程级方案》
接口耗时属于横切关注点,应统一在 Spring MVC 拦截器中处理,避免侵入 Controller 业务逻辑。原创 2025-12-14 00:03:48 · 574 阅读 · 0 评论 -
【后端】【Java】一文详解Spring Boot 统一日志与链路追踪实践
概念含义TraceId一次请求的唯一标识Span调用链中的一个节点MDC日志上下文存储TraceId 就足够MDC(Mapped Diagnostic Context)是 Logback 提供的线程级上下文变量存储。日志中即可自动打印。✅ Filter 生成 TraceId✅ MDC 保存上下文✅ 日志格式统一✅ 接口日志 + 异常日志✅ 日志分级清晰统一日志与链路追踪,是后端系统“可运维性”的基石。在 Spring Boot 项目中:MDC 是最低成本的链路追踪方案。原创 2025-12-14 00:01:24 · 896 阅读 · 0 评论 -
【后端】【Java】一文详解Spring Boot RESTful 接口统一返回与异常处理实践
统一返回结构是接口规范的基础全局异常处理是系统健壮性的保障Controller 应该只处理业务逻辑异常交给全局处理,返回交给统一模型这是成熟后端项目的必备能力。原创 2025-12-13 23:52:37 · 987 阅读 · 0 评论 -
【后端】【Java】一文深入理解 Spring Boot RESTful 风格接口开发
Spring Boot 提供了极其完善的 RESTful 开发支持,使得:接口定义简洁清晰JSON 处理高度自动化易于前后端分离适合微服务架构掌握 RESTful 风格,不仅是学会几个注解,更重要的是理解资源导向和统一接口设计思想。原创 2025-12-13 23:48:30 · 1334 阅读 · 0 评论 -
【后端】【Java】RESTful书面应该如何写
RESTful✅。原创 2025-12-13 23:44:25 · 351 阅读 · 0 评论 -
【后端】【Java】可直接落地的 Nginx + Java(Spring Boot)+ Redis 的短链系统实现
一个,包含:系统架构Nginx 配置Java 代码(短链生成 + 统计 + 302 跳转)Redis 数据结构访问统计方案这是一个完整、可部署的模板。原创 2025-12-10 20:46:14 · 479 阅读 · 0 评论 -
【Java后端】Spring Boot 比 Spring 的优势:以 RESTful 接口开发为例 一文详解
对比维度Spring(传统方式)依赖管理手动指定每个依赖和版本,容易冲突Starter 自动引入常用依赖,BOM 管理版本配置文件需要web.xml几乎零配置,只需容器部署打包 war,部署到外部 Tomcat/Jetty内嵌 Tomcat,直接java -jar运行REST 返回 JSON需要引入 Jackson,并配置默认支持 JSON,自动注册 MessageConverter环境配置配置分散在 XML / properties统一在,支持多 profile生产级功能。原创 2025-09-25 21:02:57 · 913 阅读 · 0 评论 -
【Java后端】《Spring Boot Starter 原理详解》博客
Starter 可以理解为一组模块化依赖,它们帮助我们快速集成某种功能。会自动引入:Spring MVCTomcat 依赖让我们可以直接写提供接口。官方提供了大量 Starter(如),社区也有第三方 Starter,甚至可以编写自定义 Starter。假设我们要封装一个Spring Boot Starter 本质上是依赖管理 + 自动配置的组合,它极大降低了上手门槛。通过SPI + 条件注解,实现了灵活可控的 Bean 装配。原创 2025-09-25 20:55:38 · 1387 阅读 · 2 评论 -
【AI】【Java后端】RAG 实战示例:SpringBoot + 向量检索 + LLM 问答系统
下面写一个,用搭建一个问答系统。下面我会给出完整架构、核心代码示例,以及如何运行。原创 2025-09-23 16:14:41 · 722 阅读 · 0 评论 -
【Java后端】SpringBoot 常用工具类和工具方法汇总
格式化、解析日期(基于java.timeJsonUtil(通常封装 Jackson)→ String→ 对象统一返回结果Result.fail("错误")MD5、SHA256、AES、RSA 等加解密IdUtil生成 UUID、雪花算法 ID✅ 总结:SpringBoot 项目里最常用的工具类主要是Spring 自带的AssertBeanUtils等;然后结合来增强;最后根据业务写一些时间/JSON/加解密工具类。整理一个SpringBoot 常用工具类速查表(CheatSheet),里面包含。原创 2025-09-23 16:04:51 · 720 阅读 · 0 评论 -
SpringBoot+MyBatis多数据源实战指南
使用分别指定不同包下的 Mapper,绑定到不同的数据源。原创 2025-09-21 00:25:35 · 452 阅读 · 0 评论 -
【Java后端】深入理解 Spring Security:从原理到实战
Spring Security 虽然一开始上手有些复杂,但它的过滤器链机制认证授权模型和可扩展性非常强大。小项目可直接用表单登录 + Session前后端分离项目推荐使用JWT企业级项目可以扩展OAuth2 / SSO / 自定义认证Spring Security,不仅要会用,更要理解它的认证与授权核心流程,这样才能在复杂业务场景下灵活扩展。原创 2025-09-20 14:23:23 · 1252 阅读 · 1 评论 -
【Java后端】Spring 如何解决循环依赖:原理 + 源码解读
Spring 通过三级缓存(singletonObjects / earlySingletonObjects / singletonFactories)和,解决了大部分单例 + Setter/Field 注入的循环依赖。构造器循环依赖、prototype Bean无法解决。Spring Boot 2.6+ 默认关闭循环依赖,需要显式开启。从设计角度,循环依赖往往是架构问题,最佳做法是重构消除循环。原创 2025-09-16 22:51:12 · 1568 阅读 · 1 评论 -
【Java后端】Spring Security里JwtAuthenticationFilter解析原理和流程一文详解
这段过滤器的功能:从请求头中提取 JWT。校验并解析 Token,获取username和userId。将认证信息注入到 Spring Security 上下文(将userId和username存入request,方便后续使用。如果 Token 失效或异常,不会中断请求,而是继续执行(只是不注入认证信息)。原创 2025-09-16 00:41:57 · 1043 阅读 · 0 评论 -
【Java后端】Spring Security配置对应的账号密码访问
而且还会提示 仅在开发模式下用,安全配置密码在生产环境必须更新。里,默认情况下并没有固定的账号密码,只有当你在项目中。这个密码只在程序运行期间有效,每次重启都会生成新的。在访问的时候会有个这样的账号密码认证来拦截访问。这里输入的就是上面的账号密码了。如果你想自定义账号,可以在。原创 2025-09-15 23:39:41 · 742 阅读 · 0 评论 -
【Java后端】Spring Boot 集成雪花算法唯一 ID
方案长度顺序性依赖组件性能 (QPS)复杂度适用场景数据库自增 ID短有序数据库低低小型项目长无序无高低日志追踪Redis INCR短有序Redis高中电商订单Snowflake中趋势有序无高中高并发系统Zookeeper 顺序 ID短有序ZK中高金融业务百度 UidGenerator中有序DB极高中高并发场景美团 Leaf中有序DB/ZK极高高分布式系统小型项目:用数据库自增即可。日志、追踪。原创 2025-09-14 21:58:18 · 1921 阅读 · 3 评论 -
【Java后端】Spring Boot 多模块项目实战:从零搭建父工程与子模块
通过以上步骤,我们成功搭建了一个Spring Boot 多模块项目父工程统一管理依赖版本,保证一致性;子模块按功能拆分,职责清晰;web-api模块作为入口,组合其他模块的能力;后续可以方便地扩展更多模块,如等。这种结构特别适合中大型项目,能够有效提升团队协作效率和代码可维护性。原创 2025-09-14 14:51:33 · 1314 阅读 · 1 评论 -
【Java后端】Spring Boot 2.7.x 和 Swagger 3.0.x (springfox 3.x) 的兼容性问题
springfox在 Spring Boot 2.6 开始就有很多兼容性 bug(主要是 Spring MVC PathPatternParser 的引入),导致在 Spring Boot 2.6/2.7 里经常出现的情况。原创 2025-09-14 14:42:43 · 933 阅读 · 0 评论 -
【Java后端】Spring Boot 全局域名替换
写一个,可以直接跑起来验证。原创 2025-09-01 23:58:56 · 798 阅读 · 0 评论 -
【Java后端】SpringBoot配置多个环境(开发、测试、生产)
在 Spring Boot 中配置多个环境(开发、测试、生产)通常用 配置文件分环境管理 + 启动参数切换 的方式来实现。下面一个完整的实践指南:Spring Boot 默认支持 或 文件。常见方式是创建以下配置文件:示例:application.yml(通用配置)application-dev.yml(开发环境)application-prod.yml(生产环境)🔹 2. 启动时指定环境方法 1:在 设置方法 2:命令行参数(推荐,灵活)方法 3:环境变量🔹 3.原创 2025-08-31 23:40:47 · 925 阅读 · 0 评论 -
【Java后端】【可直接落地的 Redis 分布式锁实现】
** 锁名(前缀) *//** 业务 key 的 SpEL,例如 "#skuId" 或 "#req.userId + ':' + #req.orderId" *//** 过期毫秒 *//** 最长等待毫秒 *//** 是否自动续期 *//** 获取失败是否抛异常;false 则直接跳过执行业务 */原创 2025-08-22 23:56:42 · 1627 阅读 · 0 评论 -
【Java后端】 Spring Boot 集成 Redis 全攻略
本文介绍了Spring Boot 集成 Redis 的完整流程,从环境搭建、依赖引入、基础操作,到与 Spring Cache 注解的整合,并补充了 Redis 在实际业务中的应用场景与常见问题。合理利用 Redis,不仅能显著提升系统性能,还能在高并发场景下保障服务稳定性。原创 2025-08-22 23:53:24 · 1196 阅读 · 0 评论 -
【Java后端】Spring Boot 实现请求设备来源统计与UA解析全攻略
操作系统:iOS 16.0设备类型浏览器:Safari⚠️注意事项部分新版本浏览器已逐步弃用 UA,转向;UA 可伪造,统计结果仅供参考。@Component@Override= null) {// 操作系统// 设备// 浏览器log.info("设备来源统计: OS={}, Device={}, Browser={}", os, device, browser);// TODO: 写入 Redis / DB 做统计核心点:通过拦截器获取User-Agent,使用。原创 2025-08-21 23:03:17 · 980 阅读 · 0 评论 -
【Java后端】一文详解 Spring Boot AOP 切面最佳实践
请求 URL请求参数执行耗时返回结果@Aspect@Component@Slf4j// 切入点:拦截所有 controller 包下的方法/*** 环绕通知:执行前后都能做操作*/// 获取请求相关信息log.info("====== 请求开始 ======");log.info("HTTP方法 : {}", request.getMethod());原创 2025-08-20 23:48:19 · 1286 阅读 · 0 评论 -
【Java后端】Spring Boot 全局异常处理最佳实践
首先定义一个通用的响应对象这样一来,无论成功还是失败,都能保证返回结果的结构一致。除了系统异常(等),我们还需要定义业务异常例如:用户不存在、余额不足、参数非法等,都可以通过来抛出。通过全局异常处理统一返回结构,方便前端解析。集中管理异常,减少冗余try-catch。区分业务异常与系统异常,提升代码可维护性。可扩展性强,后续可以接入日志系统(如 Logback、ELK)或异常监控平台(如 Sentry)。建议在实际项目中,将全局异常处理。原创 2025-08-20 23:40:09 · 1308 阅读 · 0 评论 -
【Java后端】MyBatis-Plus 原理解析
定义通用方法(接口)。业务接口,扩展。默认实现,帮你实现了IService的所有方法。实现类,继承,可以直接用 CRUD,也可以扩展业务方法。所以:👉写的代码只需要关心业务逻辑,CRUD 全交给 MyBatis-Plus 的基类完成。原创 2025-08-17 20:37:48 · 467 阅读 · 0 评论 -
【Java后端】Spring Boot 集成 MyBatis-Plus 全攻略
如果 SQL 比较简单,基本不需要写 Mapper XML。如果涉及复杂查询,可以MP + 自定义 XML混合使用。常见增强:分页、条件构造器、批量操作、乐观锁、多租户插件。这样,就能快速从MyBatis 手写 SQL升级到MyBatis-Plus 高效开发🚀。原创 2025-08-17 20:14:27 · 706 阅读 · 0 评论 -
【Java后端】Spring Boot 集成 MyBatis 全攻略
Data;@Mapper✅ 这里用注解方式,简单清晰;复杂 SQL 可以写到 XML 文件。原创 2025-08-17 20:11:28 · 643 阅读 · 0 评论 -
【后端】SpringBoot统计各接口的访问平台功能实现
实现一个的完整版本,这样能实时统计各接口的访问平台(Android / iOS / Mac / Windows / H5),并且每天定时把 Redis 里的数据写到 MySQL 做历史报表。原创 2025-08-17 00:51:22 · 877 阅读 · 0 评论 -
【Java 后端】Spring Boot 集成 JPA 全攻略
JPA(Java Persistence API)并不是一个具体实现,而是Java 官方定义的 ORM 规范Hibernate(最常用,Spring Boot 默认 JPA 实现)OpenJPA核心思想用实体类(Entity)映射数据库表,用方法调用代替手写 SQL。// 查询所有用户// 根据用户名查询几乎零配置即可运行面向对象操作数据库,减少 SQL 编写内置方法丰富,支持分页、排序、条件查询复杂 SQL 也可以灵活编写。原创 2025-08-14 23:57:19 · 2897 阅读 · 1 评论 -
java -jar xxx.jar 提示xxx.jar中没有主清单属性报错解决方案
提示中没有主清单属性报错解决方案这个错通常出现在你用 启动,但 JAR 的 里没有 条目(或没按可执行 JAR 的方式打包)。快速检查 + 常见解决方案如下:如果你用 Maven 或 Gradle,推荐在构建阶段就写好 并(如果需要)生成 fat/uber-jar。Maven ():生成包含依赖的可执行 jar 用 或 (Spring Boot 项目)。Gradle(普通 jar):如果要包含依赖(fat jar),用 插件或 插件的打包方式。修复完以后,再次运行就可以看到正常的启动信息输原创 2025-08-09 23:22:31 · 982 阅读 · 0 评论 -
《在 Spring Boot 中安全使用 Qwen API-KEY:环境变量替代明文配置的最佳实践》
想要的效果其实就是,然后在里通过占位符读取,而不写明文。这样即便被提交到 Git,也不会泄露 key。原创 2025-08-08 23:21:34 · 721 阅读 · 0 评论 -
SpringBoot格式化数据库表格字段时间戳
都是datetime类型,但是一开始都是保留了6位小数,导致毫秒都显示出来了。但是如果这里只想要保留时分秒,不需要精确到毫秒级别的话,就可以格式化处理一下。将其放到resources/db.migration路径下。然后更新表格字段的存储格式,执行一个脚本SQL。最后就能得到这种时间戳格式的显示了。假设有这样一个SQL表,其中。然后添加Flyway库。原创 2025-08-04 23:48:42 · 641 阅读 · 0 评论 -
【后端】SpringBoot用CORS解决无法跨域访问的问题
适用于更底层的控制(不推荐,除非有特殊需求)。@Component@Override.allowedOrigins("http://localhost:3000") // 推荐明确指定前端地址.allowedHeaders("*") // 可选,允许前端发送的自定义 Header// 可选,预检请求的缓存时间(单位秒)原创 2025-05-12 20:06:30 · 1962 阅读 · 1 评论 -
SpringBoot 设置HTTP代理访问
遇到这样的一个场景,代码部署到私有服务器上去之后,这台私有服务器a无法直接访问公网,需要通过代理转发到另外一台专门访问公网的服务器b, 让服务器b去请求对应的公网ip,于是就需要设置Http代理。通常使用springboot会用到两种不同的httpclientspring-boot-starter-webflux 这个包下面的WebClientSpring-web 这个包下面的RestTemplate。原创 2025-04-30 11:00:47 · 1483 阅读 · 0 评论 -
SpringBoot 结合 MyBatis 在控制台查看实际SQL语句执行的结果
appender=com.p6spy.engine.spy.appender.StdoutLogger # 或者使用 Log4jAppender。driver-class-name: com.p6spy.engine.spy.P6SpyDriver # 使用 P6Spy 驱动。启动应用程序后,执行数据库查询时,你将在控制台上看到 SQL 查询和执行时间的输出。driver=com.mysql.cj.jdbc.Driver # 使用你的数据库驱动。这个优点是可以看到具体的执行结果集合。原创 2024-10-13 16:09:28 · 2064 阅读 · 0 评论
分享