Spring Boot 2.x 项目 /static 静态资源无法访问的排查与解决
在 Spring Boot 2.x 中,若自定义配置类继承 WebMvcConfigurationSupport 或引入 @EnableWebMvc,会导致默认的静态资源映射被覆盖,从而引发 404 或样式丢失。通过手动重写 addResourceHandlers 方法指定 classpath:/static/ 路径,或使用 implements WebMvcConfigurer 接口进行扩展,可恢复正常访问。
在 Spring Boot 2.x 中,若自定义配置类继承 WebMvcConfigurationSupport 或引入 @EnableWebMvc,会导致默认的静态资源映射被覆盖,从而引发 404 或样式丢失。通过手动重写 addResourceHandlers 方法指定 classpath:/static/ 路径,或使用 implements WebMvcConfigurer 接口进行扩展,可恢复正常访问。

Spring Boot 中默认未开启 URL 后缀匹配。若需通过 .json、.html 等后缀区分请求,可通过继承 WebMvcConfigurationSupport 或实现 WebMvcConfigurer 接口配置 PathMatchConfigurer。此外,当路径参数本身包含 '.' 符号时,建议配合正则表达式 [:.+] 进行精确提取,确保数据不丢失。
本文详细介绍在 MyBatis-Plus 中如何配置主键自增策略并正确获取插入后生成的自增 ID。主要涵盖通过 @TableId 注解配置实体类、使用内置 insert 方法及自定义 SQL(@Options 或 @InsertProvider)三种获取 ID 的方式,以及 application.yml 中的全局配置,解决开发中常见的 ID 回写问题。

本文详细介绍在 MyBatis 中调用存储过程的两种主要方式:通过 Map 集合获取 IN/OUT 参数返回值,以及直接执行 SQL 脚本获取结果集。重点解析 statementType="CALLABLE"配置、参数模式声明及多数据源切换注意事项,提供 Controller、Service、Mapper 层完整代码示例。
在 MyBatis-Plus 开发中,查看 SQL 语句有助于排查数据问题。本文介绍两种主流配置方式:通过 log-impl 输出详细包含结果集的 SQL,以及通过 logging.level 仅记录执行语句与影响行数。提供 YAML 与 Properties 两种格式的配置文件写法,帮助开发者根据调试需求选择合适的日志粒度。
本文详解如何使用MyBatis-Plus实现指定字段的模糊查询。通过@TableField的condition属性配置LIKE操作,并重点解决Oracle数据库中CONCAT函数无法拼接多参数导致的报错问题,提供自定义SqlCondition类的兼容方案。

HTML 表单仅支持 GET 和 POST 请求。在 Spring Boot 中若需通过表单发送 PUT 或 DELETE 请求,需利用 HiddenHttpMethodFilter 转换器。由于新版本自动配置默认禁用该功能,需在 application.properties 中开启 spring.mvc.hiddenmethod.filter.enabled=true,并在表单中添加 name="_method" 的隐藏域即可正常使用。

本文详细解析了基于MySQL InnoDB引擎实现分布式锁的原理。重点讲解了行锁(共享锁与排他锁)的特性及索引对锁粒度的影响,并通过Java代码演示如何利用`SELECT ... FOR UPDATE`配合唯一索引实现高并发环境下的资源互斥访问。同时对比了MyISAM的表级锁差异,为开发者提供清晰的操作参考。

本文介绍如何在 MyBatis 中使用注解实现自定义结果集映射及多表关联查询。通过 @Results 和 @Result 解决属性名与列名不一致问题,利用 @One 实现一对一分解查询,使用 @Many 完成一对多懒加载。文章包含完整的实体类定义、Mapper接口编写及测试用例,并对比了注解开发与 XML 映射文件的优劣。

解决MyBatis-Plus默认忽略null值导致修改失败的问题,通过在实体类添加@TableField(strategy=FieldStrategy.IGNORED)实现空值覆盖。同时提供使用updateForSet方法进行SQL直写的代码示例,以完成指定字段的精确更新操作。

本文详解 Spring Boot 中实现页面跳转的两种核心方式:请求转发(Forward)与重定向(Redirect)。通过对比两者的 URL 变化、请求次数、数据保留机制及适用场景,结合 Controller 层 Java 代码示例,帮助开发者根据业务需求选择正确的跳转策略,避免常见的 404 错误与数据丢失问题。

在Spring Boot开发中,同一接口存在多个实现类时会导致Bean注入歧义。本文对比了@Primary、@Resource和@Qualifier等基础手动切换方案与基于@ConditionalOnProperty的条件自动装配方案。通过配置项动态控制实现类的实例化,实现了无需修改代码即可在不同环境间灵活切换业务逻辑,提升了系统的可维护性与运维友好度。