本文介绍了在Spring Boot博客系统中集成AI智能摘要的完整实战。通过前后端分离,后端提供AiSummaryService接口并实现调用OpenAI兼容API,配置在application.yaml。Controller暴露 /api/ai-summary,根据文章Id获取纯文本并生成200字以内摘要。前端使用Thymeleaf展示,配合JavaScript实现打字机动画,并在AI不可用时降级为本地关键词摘要。系统支持智谱AI、Moonshot 等国内可访问的模型。

在博客底部实现“每日一句”功能,后端使用 Spring Boot 通过 RestTemplate 代理有道每日句子 API,返回含英文(en)与中文(cn)的 JSON。采用双层缓存:服务端以 ConcurrentHashMap 按日期存储当天句子,避免频繁调用第三方接口;客户端将同一天数据写入 localStorage,页面刷新时直接读取,进一步降低请求。接口加入异常捕获与固定备用句子,实现降级容错。前端采用原生 JS 获取 /api/daily‑quote 并渲染,使用 CSS3 实现省略号、点击展开与渐变卡片样式,并通过 media query 在桌面、平板、手机三种断点下自适应宽度与字号。整体方案兼顾每日更新、可靠性、性能优化和响应式布局。

本文介绍了在 Java 项目中使用开源库 ZXing 快速生成二维码的完整流程。首先通过 Maven 引入 core 与 javase 依赖,随后说明四步核心实现:配置字符集、容错率和边距等 EncodeHint;使用 QRCodeWriter 将内容编码为 BitMatrix;利用 MatrixToImageWriter 将矩阵输出为 PNG 等图片;可选的高级定制包括在中心嵌入 Logo、修改前景/背景颜色等。文章进一步提供了 QRCodeService 的模块化封装示例,并演示在 Spring Boot 控制器中实时返回二维码图片。最后列出中文乱码、Logo 过大、边距不足等常见问题及解决方案,并给出身份绑定、电子票务、支付收款等典型应用场景。通过本文,读者即可掌握 Java 生成、定制及在生产环境中安全使用二维码的关键技术。

Math.abs()在普通情况下返回非负数,但对 int 最小值 Integer.MIN_VALUE 会返回负数。原因在于 int 使用补码表示,-Integer.MIN_VALUE 超出 int 最大范围,产生溢出并仍得到原负值。源码注释已说明此为规范行为。实践中应对该边界做检查或使用更大类型(long、BigInteger)并结合安全方法(Math.addExact 等)避免错误。

打牌记账是一款基于浏览器的实时多人记账工具,支持麻将、斗地主等棋牌局,最多8人同屏,创建加密房间或普通房间,昵称即入场,无需注册。核心功能包括房间创建、密码保护、二维码/链接邀请、实时同步、自动盈亏计算、结算统计与历史记录保存。页面提供“一键创建/加入房间”、记账弹窗(输给谁、金额)和房主专属的结算按钮,结算后房间锁定、禁止新记账。用户可在“我加入的房间”查看进行中和已结算的房间列表,并可随时修改昵称。系统采用 BCrypt 加密存储密码,支持跨平台(手机、平板、电脑)使用,兼容主流浏览器,操作流程简洁,适用于各类棋牌记账场景。

本项目针对多人打牌记账的痛点,开发了一款基于Web的实时协作记账小程序。目标实现房间内操作实时同步、最多8人在线、数据持久化与历史查询、跨平台访问和简洁易用。技术选型为Spring Boot、MyBatis‑Plus、MySQL、WebSocket、Thymeleaf、Fastjson2、BCrypt等。系统分为客户端、应用服务层和数据存储层,使用WebSocket实现双向低延迟推送,Room、User、Record等实体通过MyBatis‑Plus完成CRUD。核心功能包括房间创建(8位唯一码)、人数上限控制(乐观锁)、用户加入(首人自动为房主)以及记账、结算等业务。项目结构清晰,采用Maven管理依赖,适配浏览器、手机和微信等多端。