<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[码客日记的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/c_java___</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; c_java___]]></copyright><item><title><![CDATA[Spring Boot 配置文件敏感信息加密（Jasypt 企业级完整方案）]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/161829453</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/161829453</guid><author>c_java___</author><pubDate>Tue, 09 Jun 2026 13:47:55 +0800</pubDate><description><![CDATA[编写测试工具类，指定加密密钥和明文，生成可直接使用的密文。/*** Jasypt 加解密工具类* 用于生成配置文件密文、测试解密// 自定义加密密钥（生产环境务必更换复杂密钥） private static final String SECRET_KEY = "SpringBoot@2026";// 需要加密的明文（数据库密码、Redis密码等） String plainText = "123456";]]></description><category></category></item><item><title><![CDATA[基于Spring Boot的校园二手交易系统]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/161794362</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/161794362</guid><author>c_java___</author><pubDate>Mon, 08 Jun 2026 11:57:49 +0800</pubDate><description><![CDATA[通过一定数量对在校大学生的问卷调查，结合当前社会背景，制作出了系统分析，总结出如何建立校园闲置物品交易平台，建立一个良好的系统。系统通过B/S架构使前后端进行分离，用户和管理员通过分配相对应的账号密码进入不同的网页。前端页面简洁美观，在保证用户功能齐全的情况下，界面设计颇具新颖，让用户看起来更加舒服。后端页面功能齐全，管理员可以通过在后端网页的功能设计处理前端用户的需求与应用操作。在此基础上，保证每一个前端上的功能都可以在后端有相对应的管理模块。]]></description><category></category></item><item><title><![CDATA[Spring Boot 统一封装返回结果与枚举错误码（完整解决方案）]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/161722478</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/161722478</guid><author>c_java___</author><pubDate>Fri, 05 Jun 2026 15:32:51 +0800</pubDate><description><![CDATA[用于业务代码中主动抛出异常，配合全局异常处理器统一返回。/*** 自定义业务异常*/super(msg);return msg;通过这套统一返回结果 + 枚举错误码方案，彻底解决了 Spring Boot 项目接口返回格式混乱、错误码零散、异常处理不统一的问题。代码低侵入、通用性强、符合企业级开发规范，可直接引入任何 Spring Boot 项目使用。]]></description><category></category></item><item><title><![CDATA[Spring Boot 全局跨域配置与前后端联调避坑]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/161685861</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/161685861</guid><author>c_java___</author><pubDate>Thu, 04 Jun 2026 13:33:04 +0800</pubDate><description><![CDATA[跨域全称跨域资源共享（CORS），是浏览器为了防范恶意网站窃取数据的安全同源策略限制。浏览器规定：只有协议、域名、端口三者完全一致，才属于同源请求，允许正常访问接口；任意一个要素不同，即判定为跨域请求，浏览器会拦截响应数据。前后端分离项目天然存在跨域场景：前端本地运行在，后端接口运行在，端口不一致，直接触发跨域拦截。跨域是浏览器的限制，和后端服务无关，后端接口本身已经正常执行，只是浏览器拒绝接收响应结果。]]></description><category></category></item><item><title><![CDATA[零基础转行开发：从入门到斩获大厂Offer的系统化成长指南]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/161675591</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/161675591</guid><author>c_java___</author><pubDate>Thu, 04 Jun 2026 09:21:20 +0800</pubDate><description><![CDATA[坚持半年后，看似积累满满，可一旦需要手写排序算法、独立设计业务模块、排查代码问题，就会大脑空白、无从下手。这种“假性努力、低效内耗”的学习状态，核心根源并非不够勤奋，而是，海量零散的技术知识点无法串联落地。技术学习从来不是简单的信息收集和素材囤积，而是一套需要精准规划、循序渐进、闭环落地的系统工程。对于非科班转行学习者而言，最大的学习痛点从来不是智力不足或勤奋不够，而是：不清楚自身知识短板在哪里，也不知道该用什么方法高效补齐。]]></description><category></category></item><item><title><![CDATA[Spring Boot 接口日志统一打印方案]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/160252328</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/160252328</guid><author>c_java___</author><pubDate>Fri, 17 Apr 2026 14:46:32 +0800</pubDate><description><![CDATA[本文提供的Spring Boot接口日志统一打印方案，通过AOP切面实现接口日志的统一拦截与打印，无需侵入业务代码；通过规范的日志级别配置，避免无效日志冗余；通过日志按天分割，解决单个日志文件过大的问题，三者结合形成一套完整的日志管理方案。核心优势：代码无侵入、日志规范统一、排查效率高、适配线上环境，可直接应用于实际项目，无需过多修改。实施该方案后，线上接口出现问题时，可快速通过日志定位请求参数、响应结果、接口耗时和异常原因，大幅降低问题排查成本，提升项目的可维护性和稳定性。]]></description><category></category></item><item><title><![CDATA[Spring Boot 参数校验全局处理（JSR380 + 自定义校验）]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/159615320</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/159615320</guid><author>c_java___</author><pubDate>Sun, 29 Mar 2026 17:27:26 +0800</pubDate><description><![CDATA[JSR380提供的默认注解，只能满足基础的参数校验场景，而在实际开发中，经常会遇到一些特殊的校验需求（如手机号格式、身份证号、邮政编码等），此时@Pattern注解虽然可以实现，但正则表达式分散在各个字段上，无法复用，且代码可读性差。通过自定义校验注解，可将特殊的校验逻辑封装起来，实现校验逻辑的复用，同时让代码更简洁、更规范。下面以“手机号格式校验”为例，详细讲解自定义校验注解的实现步骤，其他特殊场景可参考此步骤仿写。]]></description><category></category></item><item><title><![CDATA[Spring Boot 实战：从0到1搭建简单管理后台]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/159322971</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/159322971</guid><author>c_java___</author><pubDate>Sat, 21 Mar 2026 21:05:50 +0800</pubDate><description><![CDATA[本文专为Spring Boot新手量身打造，全程剔除所有导包代码，聚焦核心实操步骤，用详实的文字描述补充每一步的细节的逻辑，让新手不仅能复制代码运行，还能理解每一步的意义，快速搭建出可落地、可扩展的简单管理后台。教程兼顾简洁性和实用性，不冗余、不堆砌，重点补充操作说明、逻辑讲解和避坑细节，确保即使是刚接触Spring Boot的开发者，也能跟着一步步完成搭建，最终实现完整的用户管理、角色菜单管理等核心功能。]]></description><category></category></item><item><title><![CDATA[Spring Boot 缓存优化：Redis 实战]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/159125758</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/159125758</guid><author>c_java___</author><pubDate>Mon, 16 Mar 2026 16:40:58 +0800</pubDate><description><![CDATA[本文承接项目数据量大后的性能优化需求，完整实战了Spring Boot集成Redis缓存的核心流程，从环境搭建、缓存注解使用，到热点数据缓存案例，帮你快速落地缓存优化，核心要点总结：集成Redis：引入核心依赖，配置Redis连接信息和序列化方式，开启缓存功能（@EnableCaching），确保Redis环境可用；核心注解：@Cacheable实现查询缓存，减少数据库查询；@CacheEvict实现缓存删除，避免脏数据，两个注解覆盖大多数缓存场景；]]></description><category></category></item><item><title><![CDATA[Spring Boot 定时任务与异步处理]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/158971892</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/158971892</guid><author>c_java___</author><pubDate>Thu, 12 Mar 2026 16:30:41 +0800</pubDate><description><![CDATA[本文承接项目核心功能完善后的需求，完整实战了Spring Boot定时任务（@Scheduled）与异步处理（@Async）的核心用法，结合定时清理冗余数据、异步发送邮件等真实案例，帮你实现项目自动化，提升项目实用性和性能，核心要点总结：定时任务（@Scheduled）：通过3种方式（固定延迟、固定速率、Cron表达式）实现自动化任务，适配不同定时场景，核心是@EnableScheduling注解开启功能；]]></description><category></category></item><item><title><![CDATA[Spring Boot + EasyExcel 实现 Excel 导入导出（实战篇）]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/158877865</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/158877865</guid><author>c_java___</author><pubDate>Tue, 10 Mar 2026 09:05:29 +0800</pubDate><description><![CDATA[*** EasyExcel 导入监听器（处理Excel解析后的每一行数据）* 说明：监听器不能被Spring管理，需手动new，因此通过构造方法传入Service// 批量入库阈值（每100条数据批量插入一次，可调整） private static final int BATCH_SIZE = 100;// 存储解析后的Excel数据 private List < ExcelUserDTO > userList = new ArrayList < >();]]></description><category></category></item><item><title><![CDATA[Spring Boot 文件上传与下载（图片 _ Excel）]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/158808585</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/158808585</guid><author>c_java___</author><pubDate>Sun, 08 Mar 2026 16:42:28 +0800</pubDate><description><![CDATA[本文承接纯接口开发的基础，完整实战了Spring Boot文件操作的核心场景——本地文件上传、图片上传与回显、Excel上传解析（POI+EasyExcel），覆盖小工具开发的核心需求，核心要点：本地文件上传：核心是生成唯一文件名、创建存储目录、校验文件合法性，通用适配所有文件类型。图片上传：额外增加格式校验、图片压缩，通过静态资源配置实现图片回显，贴合实际开发场景。Excel解析：POI适合复杂场景，EasyExcel适合大数据量，按需选择，核心是将Excel数据映射为实体类，便于后续业务处理。]]></description><category></category></item><item><title><![CDATA[Spring Boot 接口权限控制：登录 + JWT 实战]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/158768481</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/158768481</guid><author>c_java___</author><pubDate>Sat, 07 Mar 2026 09:01:29 +0800</pubDate><description><![CDATA[核心逻辑：拦截请求 → 从请求头获取令牌 → 验证令牌有效性 → 解析用户信息 → 校验用户权限（可选） → 放行；若令牌无效/无令牌，直接返回401未授权。/*** JWT拦截器：实现接口权限校验// 从配置文件读取请求头中令牌的字段名 @Value("${jwt.header}") private String jwtHeader;/*** 请求预处理（核心方法）：在接口执行前拦截，校验令牌。]]></description><category></category></item><item><title><![CDATA[Spring Boot 多表关联查询实战（一对多 _ 多对一）]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/158733496</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/158733496</guid><author>c_java___</author><pubDate>Fri, 06 Mar 2026 11:38:36 +0800</pubDate><description><![CDATA[本文以「用户-订单」为实战场景，明确一对多、多对一关系：订单 → 用户。多个订单可以属于同一个用户，订单是“多”的一方，用户是“一”的一方，订单表中需存在外键（user_id）关联用户表的主键（id）。用户 → 订单。一个用户可以拥有多个订单，用户是“一”的一方，订单是“多”的一方，用户表中无需额外添加字段，通过订单表的外键关联。]]></description><category></category></item><item><title><![CDATA[Spring Boot 项目打包成 JAR 并部署运行（实战完整版）]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/158472105</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/158472105</guid><author>c_java___</author><pubDate>Fri, 27 Feb 2026 22:41:37 +0800</pubDate><description><![CDATA[本文基于前文实战项目（Spring Boot + MyBatis-Plus + 统一返回 + 全局异常 + Swagger），完整实现了「打包配置→打包操作→本地部署→服务器部署」全流程，核心要点总结：打包核心：确保 pom.xml 中 spring-boot-maven-plugin 配置正确（重点是 mainClass），项目无编译报错，配置文件（数据库、端口）适配部署环境；打包方式：IDEA可视化操作适合新手，Maven命令适合无IDEA环境，两种方式均可，打包后优先本地验证JAR包；]]></description><category></category></item><item><title><![CDATA[Spring Boot 接口测试：Postman + Swagger 实战（完整版）]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/158386832</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/158386832</guid><author>c_java___</author><pubDate>Wed, 25 Feb 2026 15:36:10 +0800</pubDate><description><![CDATA[本文基于「Spring Boot + MyBatis-Plus」实战项目，完整实现了 Swagger 接口文档自动生成 + Postman 接口调试，核心要点总结：Swagger（Knife4j）：通过依赖导入+简单配置，自动扫描接口，生成规范文档，支持在线调试、文档导出，解决“手动写文档繁琐”“前后端对接分歧”的问题；Postman：通过环境配置、参数传递、批量测试等功能，高效调试接口，覆盖正常/异常场景，确保接口功能符合预期，提升开发和测试效率；]]></description><category></category></item><item><title><![CDATA[Spring Boot 统一返回格式 + 全局异常处理（实战版）]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/158353023</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/158353023</guid><author>c_java___</author><pubDate>Tue, 24 Feb 2026 17:41:00 +0800</pubDate><description><![CDATA[先定义一个枚举类，管理所有接口的状态码和对应提示信息，避免硬编码错误码，便于后续维护（可根据项目需求扩展）。/*** 统一返回状态码枚举* 规范：200=成功，4xx=客户端错误，5xx=服务端错误，自定义错误码从1000开始*/// 成功状态SUCCESS(200, "操作成功"),// 客户端错误（4xx）PARAM_ERROR(400, "参数错误"),NOT_FOUND(404, "资源不存在"),METHOD_NOT_ALLOWED(405, "请求方法不允许"),]]></description><category></category></item><item><title><![CDATA[Spring Boot + MyBatis-Plus 快速实现单表 CRUD]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/158126738</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/158126738</guid><author>c_java___</author><pubDate>Mon, 16 Feb 2026 13:45:31 +0800</pubDate><description><![CDATA[Spring Boot + MyBatis-Plus 实现单表CRUD的核心，就是“复用MyBatis-Plus内置接口”，无需编写XML和SQL，极大简化了开发流程，核心步骤可总结为3步：准备工作：导入核心依赖、配置数据库连接、创建数据库表；核心编码：编写实体类（关联数据库表）、Mapper接口（继承BaseMapper）、Service层（可选，继承IService）；测试验证：通过测试类或接口，验证新增、查询、修改、删除功能正常。]]></description><category></category></item><item><title><![CDATA[Spring Boot + MyBatis-Plus 快速连接 MySQL]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/158070573</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/158070573</guid><author>c_java___</author><pubDate>Sun, 15 Feb 2026 15:00:00 +0800</pubDate><description><![CDATA[Spring Boot + MyBatis-Plus 连接MySQL的核心流程，可总结为4步：搭建Spring Boot项目，导入核心依赖（MyBatis-Plus、MySQL驱动）；编写application.yml，配置数据库连接信息和MyBatis-Plus基础配置；创建实体类和Mapper接口，启动类添加@MapperScan注解；编写测试代码，验证数据库连接和CRUD操作。]]></description><category></category></item><item><title><![CDATA[Spring Boot application.yml 最全避坑与多环境配置]]></title><link>https://blog.youkuaiyun.com/c_java___/article/details/158069784</link><guid>https://blog.youkuaiyun.com/c_java___/article/details/158069784</guid><author>c_java___</author><pubDate>Sat, 14 Feb 2026 14:08:58 +0800</pubDate><description><![CDATA[问题现象：在yml中自定义配置项（如），通过注入到Java类中，启动报错。根因分析yml中配置项缩进错误，导致自定义配置未被正确解析（如my与spring同级，但缩进不一致）；配置项名称拼写错误（如yml中是，注入时写成my.app.nam使用注入时，未添加@Component或注解，导致配置类未被Spring管理。正确示例# yml配置（缩进正确，与spring同级）spring:profiles:# 自定义配置my:app:// Java类注入（两种方式）]]></description><category></category></item></channel></rss>