一 如果项目所有类都在application启动类所在目录下或 其子目录下,则可以不用配置@ComponentScan,springboot会自动扫描application启动类所在目录下及其子目录下的注解
二 如果配置了@ComponentScn中的basepackages,那么就要把所有需要扫描的包都配置.这种情况下,@ComponentScan是不会再去扫描当前类所在的包的
三 这是我遇到的问题,配置了@ComponentScan(basePackages = { “controller”,“service” }))
然后发现项目所有的controller以及下面的映射路径都失效了然后出现了Whitelabel Error Page错误
一开始我的错误是service包没有放到application启动类所在包下导致注解扫描失败进而导致
Field userMapper in xxx.service.UserService required a bean of type 'xxx.service.UserService
然后添加了注解@ComponentScan(basePackages = { “controller”,“service” }))于是controller不能用了
最后将service包放到项目启动类所在目录下,然后去掉@ComponentScan注解,问题解决