
spring
文章平均质量分 90
drebander
共思共享共建,一起玩,代表作 微信小程序:文案提取F
展开
-
Spring 单元测试核心注解全解:@InjectMocks、@MockBean、@Mock、@Autowired 的区别与实战
对比维度@Mock@MockBean@Autowired所属体系MockitoMockito是否进容器否否是(替换容器中的 Bean)是(注入容器中的 Bean)是否自动注入依赖否是是是推荐场景纯 Java 单测搭配 @Mock 使用替换容器依赖(整合测试)注入容器内真实对象@Mock:用于快速构造模拟对象,脱离容器;:自动注入多个 mock 到目标类;@MockBean:Spring Boot 提供的 Mock 注入工具,替换容器中原始 Bean;原创 2025-04-14 19:05:03 · 914 阅读 · 0 评论 -
深入理解 Spring 单元测试:@SpringBootTest、@Value 注入、@MockBean 使用实战与陷阱
✅ 使用加载完整 Spring 环境;✅ 注入 Bean 一定要靠容器注入,不能 new 测试类;✅ Nacos 配置项建议使用 mock 或测试 profile 提供;✅ Mapper 不用 mock,直接@Autowired测试;✅ 区分@Mock与@MockBean使用场景,选对注解是关键。原创 2025-04-19 17:30:00 · 763 阅读 · 1 评论 -
Spring Boot 使用 QQ 企业邮箱发送邮件的完整指南(含 535 错误排查)
QQ 企业邮箱作为企业通讯工具,在 Spring Boot 中使用非常方便。但由于安全机制较为严格,使用授权码 + 正确 SSL 配置是发送邮件成功的关键。如果你遇到错误,按照本文 checklist 逐一排查,基本可以快速定位问题所在。原创 2025-04-14 16:31:38 · 530 阅读 · 0 评论 -
使用 Mockito 快速构建 Mock 测试环境
Mockito 是编写高质量 Java 单元测试的强大利器。通过它,我们可以模拟外部依赖、聚焦业务逻辑、提升测试效率,是现代 Spring Boot 项目中不可或缺的工具。原创 2025-04-03 14:48:17 · 1016 阅读 · 0 评论 -
Mock 框架选型:Mockito、EasyMock、PowerMock 横向对比
框架特点适用场景Mockito使用最广泛,语法简洁,集成简单,支持行为验证和交互验证大多数业务逻辑的单元测试EasyMock基于接口生成 Mock,使用录制-回放机制,语法风格不同于 Mockito传统项目或接口驱动系统PowerMock可 Mock 静态方法、final 类、构造函数等旧代码改造、遗留系统测试、难以解耦的代码单元Mock 框架是提升单测效率与覆盖率的有力工具,不同框架各有优势。原创 2025-04-03 14:32:25 · 924 阅读 · 0 评论 -
IOC 和 DI 的核心思想
Autowired是 Spring 提供的一个注解,用于实现依赖注入(DI)。它告诉 Spring 容器自动满足对象的依赖关系,无需显式地在代码中创建依赖对象。@Autowired构造方法上字段上Setter 方法上Spring 会根据容器中的 Bean 类型自动进行注入(如果有多个匹配的 Bean,可以通过@Qualifier来指定注入的 Bean)。2.3.1 构造方法注入构造方法注入是@Autowired 最常见的使用方式,当 Spring 创建一个对象时,他会通过构造方法传入所有的依赖对象。原创 2025-03-25 10:25:49 · 614 阅读 · 0 评论 -
Spring Data JPA 的原理、使用方法与实战场景举例
JPA 是 Java EE 提供的一种 ORM(对象关系映射)规范,用于将 Java 对象映射到数据库表。它的主要实现包括 Hibernate、EclipseLink 等。实体(Entity):通过@Entity注解标记的 Java 类,表示数据库中的一张表。Repository:数据访问层接口,用于操作实体。:JPA 的核心接口,用于管理实体的生命周期和持久化操作。使用@Entity注解标记实体类,并通过@Id@Entity@Data@Id创建一个继承// 根据用户名查询用户。原创 2025-03-07 11:38:29 · 776 阅读 · 0 评论 -
Spring之分布式事务解决方案:Seata
的分支事务纳入到全局事务的管理中。转载 2025-03-05 11:54:27 · 63 阅读 · 0 评论 -
分布式系统中的 Mybatis-Plus 使用技巧
微服务架构中,能简化数据库操作,提高开发效率。在 Spring Cloud 微服务架构下,作为 Mybatis 的增强工具,在。下,数据库配置可能动态变化,推荐使用。中,Mybatis-Plus 提供了。:缓存减少数据库查询,提升系统吞吐量。在微服务架构下,不同服务间需要通过。下,数据分散在多个微服务,面临。,但需要手动实现事务补偿逻辑。数据库高并发访问时,可以结合。的分布式环境下,通常采用。,能够提升系统吞吐量,实现。在高并发场景下,可以采用。当数据量增大时,可以采用。中,数据库操作通常是。原创 2025-03-05 11:43:13 · 588 阅读 · 0 评论 -
为什么@Autowired 在属性上被警告,在 setter 方法上不被警告
在 Spring 开发中,@Autowired注解常用于实现依赖注入。它可以应用于类的或上。然而,当@Autowired注解在上使用时,IntelliJ IDEA 等 IDE 会给出的警告,而在上使用@Autowired时却不会出现这个警告。@Autowired当@Autowired注解应用于类的上时,Spring 会直接注入该属性,而不通过构造函数或 setter 方法显式地传递依赖项。这种注入方式称为IntelliJ IDEA 等 IDE 会根据这些设计缺点发出警告,提示@Autowired。原创 2025-02-27 16:15:14 · 848 阅读 · 0 评论 -
Spring 之 SseEmitter —— 让你的进度条实时更新
在 web 开发中经常遇到一种功能,开始之后过程与时间复杂而漫长,使用者在操作等待的时候一头雾水。进度条与输出面板成了解决此类问题的最佳良药。进度条展示实时进度,用户能够感知预计时间;输出面板实时展示执行进度,关键节点,使用者不再是完全黑盒。本文主要介绍这种效果实现的方式之一,spring 对 SSE 的支持实现—— SseEmitter原创 2025-02-26 10:12:11 · 2164 阅读 · 0 评论 -
Spring 中 @Transactional 注解的用法
注解的方法,Spring 会忽略事务配置,方法不会参与事务管理。要确保事务的有效性,应该确保调用的事务方法是在事务上下文中执行的。如果抛出异常,事务会回滚。的方法时,Spring 会自动启动一个事务,并在方法执行成功时提交事务,执行过程中出现异常时回滚事务。Spring 提供了对事务的全面管理,允许开发者通过注解来配置事务的行为,而不需要手动编写事务管理代码。类中的所有方法都将自动开启事务,并且如果其中任何方法抛出异常,所有数据库操作都会回滚。注解的方法,默认情况下,外部方法的事务会传播到内部方法。原创 2025-02-25 16:47:24 · 1227 阅读 · 0 评论