[SpringBoot]@SpringBootTest标签作用

一.作用对比

特性 @SpringBootTest(集成测试) 普通 @Test(单元测试)
上下文 加载完整 Spring 应用上下文 无 Spring 上下文
依赖注入 可 @Autowired 注入 Bean 需手动 new 对象
测试范围 全链路(Controller→Service→DAO) 单个方法 / 类
执行速度 较慢(需初始化上下文) 极快
适用场景 验证组件协作、配置是否正确 验证单个方法逻辑

二.作用

  • 适用场景 :测试需要完整 Spring 上下文的逻辑(如 Service 调用 DAO、Controller 调用 Service、依赖注入是否正常),区别于只测试单个方法的单元测试(如@Test);
  • 核心能力
    1. 自动加载application.yml/properties配置;
    2. 初始化所有@Component/@Service/@Controller等 Bean;
    3. 支持模拟 Web 环境、数据库连接等真实应用场景;
  • 依赖 :需引入spring-boot-starter-test依赖(Spring Boot 项目默认已包含)

三.由于@SpringBootTest带来的Exception

3.1缺少@SpringBootTest带来的无法自动装配的问题

相关推荐
java小白小2 小时前
SpringBoot(01): 初识SpringBoot,从Spring的痛点说起
spring boot
用户128526116025 小时前
我把祖传Java项目重构后,接口响应从3s砍到了200ms,只改了这几行代码
java
Linsk5 小时前
组件 = 模板 + 业务逻辑
java·前端·vue.js
星沉远浦6 小时前
用Gemini高效解决Java代码报错难以定位的问题
java
用户3169353811838 小时前
如何从零编写一个 Spring Boot Starter
spring boot
用户298698530149 小时前
Word 文档字符级格式化:Java 实现方案详解
java·后端
笨鸟飞不快10 小时前
从单个服务到集群:一次完整的性能排查复盘
java·前端
荣码10 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
SamDeepThinking10 小时前
Java微服务练习方式
java·后端·微服务
朦胧之20 小时前
AI 编程-老项目改造篇
java·前端·后端