随笔分类 - springboot
摘要:版本对应依据 Spring Cloud Alibaba 与 Nacos 的版本兼容性遵循官方维护的版本对应关系,2021.0.5.0 属于 Spring Cloud Alibaba 2021.x 分支,该分支主要适配 Nacos 2.0.x 版本(Nacos 2.0 及以上引入了 gRPC 通信模式
阅读全文
摘要:一、MyBatis 中 Mapper 注解与 XML 方式在处理复杂业务逻辑时的核心差异 复杂业务逻辑通常涉及 动态 SQL(多条件拼接)、多表关联查询、嵌套对象映射、批量操作、子查询 等场景。两种方式在这些场景下的处理能力和体验有显著区别: 复杂场景Mapper 注解方式XML 映射文件方式 动态
阅读全文
摘要:在 MyBatis 中,SQL 语句的编写有两种主流方式:注解方式(直接在 Mapper 接口上写 SQL) 和 XML 映射文件方式。两种方式各有优缺点,选择需结合 SQL 复杂度、项目规模、团队协作习惯 等因素。以下是详细对比和选择建议: 一、两种方式的基本用法 1. 注解方式(SQL 写在接口
阅读全文
摘要:在分库分表架构中,客户端解决方案和服务端解决方案的核心区别在于:分库分表的逻辑(如 “数据该路由到哪个分库 / 分表”)是在 “应用程序端” 实现,还是在 “独立的中间服务端” 实现。两者的架构、适用场景和优缺点有显著差异,以下是详细解析: 一、客户端分库分表解决方案 定义:分库分表的逻辑(数据路由
阅读全文
摘要:<dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId></dependency> 在 Spring Boot 中,SnakeYAML 是一个常用的 YAML 解析库,主要用于处理 YAML 格式的配置文件
阅读全文
摘要:org.mapstruct.Mapper 和 org.mapstruct.Mapping 是 MapStruct 框架中的核心注解,用于实现 Java 对象之间的自动映射。MapStruct 是一个代码生成器,通过注解配置生成类型安全、高性能的对象映射代码,避免手动编写繁琐的 setter/gett
阅读全文
摘要:Apache POI 是一款常用的 Excel 处理工具,但在一些场景下,存在内存占用高、处理速度慢等问题。以下是一些比 POI 更具优势的轻量级 Excel 处理工具: EasyExcel:是阿里巴巴开源的基于 Java 的 Excel 处理工具。它重写了 POI 对 Excel 的解析方式,采用
阅读全文
摘要:1、springboot 分库分表 汇总查询分页解决方案 在 Spring Boot 中实现分库分表后的汇总查询分页,需要解决跨库表数据聚合、分页逻辑正确性、性能优化等核心问题。以下是一套套完整解决方案,结合 ShardingSphere 框架实现: 一、方案整体架构 分库分表后,汇总总查询表的数据
阅读全文
摘要:1、spring 24 工具类 Spring 框架如同一个 “瑞士军刀” 工具箱,内置了众多实用工具类,覆盖对象操作、集合处理、反射、IO、Web 等多个场景。以下精选 24 个最常用的 “瑞士军刀” 工具类,附带核心功能和实战示例,帮你提升开发效率。 一、核心容器工具类(Core Containe
阅读全文
摘要:在 Spring 中,事务管理有两种核心实现方式:声明式事务和编程式事务。它们各有适用场景,下面通过实战示例对比两者的实现方式和特点。 一、编程式事务(Programmatic Transaction) 编程式事务通过手动编写代码控制事务的开始、提交、回滚,灵活性高,但代码侵入性强。 实现方式 依赖
阅读全文
摘要:在Java Persistence API (JPA) 中,注解是用来定义实体类及其映射到数据库表的方式。这些注解位于javax.persistence包中,并被广泛应用于实体类、字段、关联以及其他JPA配置中。下面是一些主要的JPA注解及其用途: 1. 实体类注解 @Entity:标记一个持久的实
阅读全文
摘要:@Aspect的使用配置 要启用 Spring AOP 和 @Aspect 注解,需要在 Spring 配置中启用 AspectJ 自动代理,但是在 Spring Boot 中,通常不需要显式地添加 @EnableAspectJAutoProxy,因为 Spring Boot 的自动配置特性已经包含
阅读全文
摘要:13.5 Starters Starters是一组方便的依赖描述符,您可以在应用程序中包含这些描述符。您可以获得所需的所有Spring和相关技术的一站式服务,而无需搜索示例代码和复制粘贴依赖描述符的负载。例如,如果要开始使用Spring和JPA进行数据库访问,请在项目中包含spring-boot-s
阅读全文
摘要:Spring Boot简单整合Open Feign一、使用Open Feign1、引入依赖2、添加Open Feign3、添加配置文件application.yml二、Open Feign的调用1、模拟一个服务的提供者(假设为student)2、模拟一个服务的调用者(假设为classes)一、使用O
阅读全文
摘要:SpringBoot整合Netty+WebSocket 构建环境 pom.xml <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww
阅读全文
摘要:在实际的项目开发中,经常会遇到对参数进行校验的场景,最常见的就是后端需要对前端传过来的数据进行校验。 我理解的数据校验大致分为两类: 一类是对数据本身进行校验,不涉及与数据库交互的,比如正则校验、非空校验、指定的枚举数据、最大值、最小值等等。 二类是数据的校验需要和数据库交互的,比如是否唯一(数据库
阅读全文
摘要:1、依赖 <!-- swagger 核心 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.8.0</version> </dependenc
阅读全文
摘要:1、统一数据返回 使用逆向工程来进行测试,实体,mapper等省略; 1.1 直接使用 RequestResoult 1.1.1 RequestResoult 请求结果返回实体 //统一返回 实体 类 @Data public class RequestResult<T> { //状态码 priva
阅读全文
摘要:1、五大基本数据类型和操作 1.1 字符串-string 命令说明 set key value 如果key还没有,那就可以添加,如果key已经存在了,那会覆盖原有key的值 get key 如果key还没有,获取为(nil),代表key没有被使用,如果key存在,可以获取对应key的值 exists
阅读全文
摘要:1、依赖 <!-- 阿里EasyExcel start --> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.1.7</version> </dependency>
阅读全文