这几天做了个springboot的小项目
开始的时候,将启动的类指定为 当前的controller,里面没有依赖注入service ,一切都正常
后面专门 做了个MainApp用来启动 , 也在Controller中注入了Service。
我把这个类放到了contoller包中
但是发现总是启动不起来了.
报错的原因是 无法找到 这个service
肯定是 service就没被扫描到。
认知中springboot是不用 配置这个 componentscan的
问题出在哪呢??
继续深读springboot发现:
SpringBoot项目的Bean装配默认规则是根据Application类所在的包位置从上往下扫描!
这个 @SpringBootApplication 指定的类是指SpringBoot项目入口类。这个类的位置很关键
从上往下扫描:因为我把这个类放在了controller包中,那么就只会扫描 controller包和子包中的类
那么service包中的类自然就扫描不到了
重新调整下这个类的位置: 将它放入到这个顶层的位置,哈哈问题终于解决了