用途:该技能为 Spring Boot 项目提供依赖注入(DI)模式指导,重点是构造器优先的设计方式,帮助开发者编写易测试、依赖清晰的 Spring 组件。
主要能力:
- 通过构造器注入强制依赖,保持字段 final,便于不启动 Spring 直接单测。
- 可选协作者用 ObjectProvider、条件 Bean(@ConditionalOnProperty、@ConditionalOnMissingBean)或 no-op 实现处理,避免 null 驱动装配。
- 同类型多 Bean 时使用 @Primary 指定默认实现,@Qualifier 指定命名变体。
- 用最小上下文测试验证装配,再逐步加入切片测试或完整 @SpringBootTest。
- 将第三方对象创建、条件逻辑、环境相关装配放入 @Configuration 与 @Bean 方法。
使用场景:新建 @Service、@Component、@Repository、@Configuration 类;重构遗留代码中的字段注入;处理同类型多 Bean;处理可选功能、适配器或集成;排查循环依赖与上下文启动失败;为构造器单测做准备。
限制与警告:字段注入隐藏依赖、增加测试难度;循环依赖通常是设计问题,不应仅用 @Lazy 掩盖;滥用 @Qualifier 会降低可读性;可选协作者在缺失时仍需确定性行为;过早使用全上下文测试会掩盖装配失败的真实原因。
验证示例(保持原样): @SpringBootTest @ContextConfiguration(classes = UserService.class) class UserServiceWiringTest { @Autowired UserService userService; @Test void serviceIsInstantiated() { assertNotNull(userService); } }
参考资料包括 references/reference.md、references/examples.md、references/spring-official-dependency-injection.md;相关技能有 spring-boot-crud-patterns、spring-boot-rest-api-standards、unit-test-service-layer。具体安装命令与收费信息暂未提供。