Springboot无法注入service问题
Springboot无法注入service
SpringBoot项目的Bean装配默认规则是根据Application类所在的包位置从上往下扫描!
“Application类”是指SpringBoot项目入口类。
这个类的位置很关键
如果Application类所在的包为:com.boot.app,则只会扫描com.boot.app包及其所有子包,如果service或dao所在包不在com.boot.app及其子包下,则不会被扫描!
即,把Application类放到dao、service所在包的上级,com.boot.Application
知道这一点非常关键,大多数情况下bean无法注入进来都是这个原因引起的。
附上正确目录结构

Springboot报错找不到自动注入的service
找了不少资料,最后发现是每个service接口(虽然已经使用了@service注解)的实现类都需要加上@service注解。
如果是使用junit生成的测试类,发现无法自动注入服务的话,在test启动类前加上
@RunWith(SpringRunner.class)
@SpringBootTest
@ComponentScan("com.XXX.service")这是因为test包和启动类不在同一个包或子包下,无法自动注入
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
SpringBoot Security实现单点登出并清除所有token
Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。提供了完善的认证机制和方法级的授权功能。是一款非常优秀的权限管理框架。它的核心是一组过滤器链,不同的功能经由不同的过滤器2023-01-01
spring cloud-给Eureka Server加上安全的用户认证详解
这篇文章主要介绍了spring cloud-给Eureka Server加上安全的用户认证详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-01-01


最新评论