Spring Boot + Thymeleaf 国际化配置与手动切换实战
本文介绍在 Spring Boot 项目中结合 Thymeleaf 实现页面国际化的完整步骤。通过定义 i18n 资源文件、配置 basename 以及自定义 LocaleResolver 组件,支持基于浏览器请求头自动识别及 URL 参数手动切换中英文界面。
本文介绍在 Spring Boot 项目中结合 Thymeleaf 实现页面国际化的完整步骤。通过定义 i18n 资源文件、配置 basename 以及自定义 LocaleResolver 组件,支持基于浏览器请求头自动识别及 URL 参数手动切换中英文界面。

本文深入解析MySQL中datetime与timestamp在存储空间、取值范围及时区处理上的核心差异,详解如何通过参数定义毫秒精度。同时揭示Java应用连接MySQL时因serverTimeZone配置不当导致的时间偏差原理,并提供TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP的最佳实践。

本文详细介绍在IntelliJ IDEA中从零开始创建Maven Web项目的完整流程,包括目录结构的修正与依赖配置。同时提供将项目部署到本地Tomcat服务器的两种常用方法:通过IDE运行配置集成和通过Maven插件启动,帮助开发者快速搭建Java Web开发环境。

本文深入解析Spring Boot诞生的初衷,即解决传统Spring框架XML配置繁琐的痛点。通过“约定优于配置”和Starter机制,Spring Boot极大简化了开发流程。文章详细阐述了其内嵌容器、快速集成第三方库等核心优势及标准集成步骤,帮助开发者理解为何它成为Java生态中构建微服务的最佳选择。

本文详细讲解如何在 Spring Boot 项目中集成 Redis 缓存服务。内容涵盖使用 Docker 快速部署 Redis 容器、挂载持久化数据卷、配置应用连接参数,并通过 StringRedisTemplate 进行基本的键值存取测试,帮助开发者快速搭建可用的缓存环境。

本文详细介绍了在Spring Boot中如何自定义HttpMessageConverter以返回特定格式的响应数据,并通过配置contentNegotiationManager支持通过URL参数进行媒体类型协商。通过实现WebMvcConfigurer接口,可以优雅地扩展默认的转换器,解决默认仅支持JSON和XML的问题,实现在Postman和浏览器中均能获取自定义格式(如分号拼接字符串)的响应。

本文详细解析MyBatis-Plus中updateById()方法默认忽略NULL值导致更新失败的问题。通过对比UpdateWrapper手动Set方式与全局/字段级配置策略,深入分析为何更改全局更新策略可能导致原有业务逻辑被覆盖风险,并提供反射处理及自定义SQL作为补充方案,帮助开发者根据实际场景选择最安全的更新策略。

本文介绍如何在 SpringBoot 中集成 ActiveMQ 实现点对点(P2P)消息队列。通过引入依赖、配置连接参数,利用 JmsMessagingTemplate 发送与接收消息,并借助 @JmsListener 注解实现自动监听与异步处理,解决手动调用接口处理消息的低效问题,构建简易的消息流水线。
本文介绍如何在 Spring Boot 中通过 application-{profile}.properties/yml 文件实现开发、测试、生产等多环境的配置隔离。详细解析了使用 spring.profiles.active 属性直接指定或通过 Maven 插件替换占位符 @spring.profiles.active@ 两种方法,并梳理了配置文件从外部目录到 classpath 的四级加载优先级,确保正确读取所需参数。

在使用 MyBatis-Plus 的 Wrappers.ne() 进行条件查询时,若直接在参数中调用可能为 null 的对象方法,会因 Java 表达式求值机制导致 NullPointerException。即使传入 false 作为 condition 参数阻止 SQL 拼接,目标参数仍会被强制计算。正确做法是先对对象判空,再决定是否追加 .ne() 条件。
在使用 Mybatis-Plus 进行数据更新时,若实体字段值为 null,默认策略下数据库不会变更该字段。本文详解通过配置全局 field-strategy 或在实体类字段上使用 @TableField(strategy = FieldStrategy.IGNORED) 注解,强制更新 null 值,解决前端清空字段后后端无法同步的问题。

解决 Spring Boot 项目中添加 spring-data-jpa 依赖后,因缺少数据库连接信息导致启动报错的问题。通过 exclude 属性排除 DataSourceAutoConfiguration 和 HibernateJpaAutoConfiguration 自动配置类,实现应用启动时不强制检查数据源,满足按需加载或条件化启用数据源的需求。
