@springbootapplication注解是自动装配总开关,必须存在;启动日志中“auto-configuring”和“tomcat initialized”表明自动装配生效;删冗余配置后通过/hello验证最小可用性即证明自动装配按需工作。

新手第一次用Spring Boot自动装配,最怕点开项目发现一堆配置文件却不知道哪个在起作用、删了哪行就启动失败、改个端口都找不到入口——其实自动装配根本不需要你手动写配置,关键在于理解它“看什么、信什么、装什么”。
确认自动装配已默认启用
打开项目根目录下的 DemoApplication.java 文件,检查类上是否带有 @SpringBootApplication 注解。这是自动装配的总开关,缺一不可。
如果该注解存在,说明自动装配机制已在运行;若被误删或替换成 @Configuration 等单一注解,【整个自动配置链将完全失效,所有 starter 依赖都不会触发默认装配】。
这一步操作起来很简单,直接在IDE中双击打开主启动类即可验证。
观察自动装配的实际效果
方法一:查看控制台启动日志
运行项目后,在控制台滚动日志中搜索关键词 Started 和 Auto-configuration,你会看到类似以下两行:
Auto-configuring Spring Security
Tomcat initialized with port(s): 8080 (http)
这两行不是你写的代码输出的,而是 Spring Boot 根据 classpath 中是否存在 spring-boot-starter-web 和 spring-boot-starter-security 自动推断并执行的结果。
方法二:检查依赖与行为是否匹配
比如你在 pom.xml 中只添加了 spring-boot-starter-data-jpa,但没配数据库连接信息,启动时会立刻报错 Failed to configure a DataSource ——这不是缺陷,而是自动装配在“尽职提醒”:它检测到 JPA 相关类存在,就主动尝试装配数据源,发现缺失必要配置便中断启动,避免后续运行时出更隐蔽的问题。
让自动装配按需生效
第一步:确认 starter 依赖已正确引入
打开 pom.xml,检查是否包含形如 spring-boot-starter-xxx 的依赖(例如 spring-boot-starter-web),而不是单独引入 spring-web 或 tomcat-embed-core 等底层 jar。
第二步:删除冗余配置
进入 src/main/resources 目录,把 application.properties 或 application.yml 中所有显式声明 Web 容器、MVC 路径映射、JSON 处理器的配置全部删掉——比如 server.port、spring.mvc.view.prefix、spring.http.converters.preferred-json-mapper 这类内容。这些在未覆盖时均由自动配置提供默认值。
第三步:启动并验证最小可用性
新建一个空控制器类:HelloController.java,仅含以下代码:
@RestController public class HelloController { @GetMapping("/hello") public String hello() { return "OK"; } }
运行项目 → 访问 http://localhost:8080/hello → 页面返回 OK。此时你没配路由、没启服务器、没设返回格式,全靠自动装配完成。











