【无标题】

**运行Spingboot项目,报错Whitelabel Error Page
在这里插入图片描述

查阅网上信息有以下解决方案
1、原因:启动类位置不对,无法扫描到其他包
解决方法:将启动类移动到所有代码的外面
2.原因:访问路径不匹配
3.前两条均未解决问题
原因:启动类未扫描到controller包
解决方案:在启动类添加注释
@ComponentScan(basePackages = {“com.wms.controller”})

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

问题得到解决

注解@ComponentScan的作用
  @Component注解及其衍生注解@RestController、@Controller、@Service和@Repository都是组件注册注解。@ComponentScan注解主要是从约定的扫描路径中,识别标注了组件注册注解的类,并且把这些类自动注册到spring IoC容器中,这些类就是我们通常所言的bean。IoC容器是Spring的特色之一,可以使用它管理bean。当然,@Configration注解修饰的类也会被托管给IoC容器。

组件扫描路径
  注解@ComponentScan 如果不设置value属性,默认扫描路径是启动类 XxxApplication.java 所在目录及其子目录,所以最好还是配置value属性,减少加载时间,提高系统启动速度。
  比如启动类在包 com.eg.wiener 下面,那么项目启动时,会默认扫描wiener包及其子包下的所有类。也就是说,即便不明确标注@ComponentScan,Spring Boot也会自动搜索当前应用主入口目录及其下方子目录。如果其它包中的bean 不在当前主包路径下面,则应使用@ComponentScan设置value属性,配置扫描路径。如果定义了错误的扫描路径,那么在使用注解@Autowired自动装配Bean时会出错,报a bean of type that could not be found错误。

配置扫描路径
  @ComponentScan注解既可以扫描包,也可以扫描指定的类。我们只需要指定一个需要扫描的路径,就可以达到更改扫描路径的目的。

包路径
  通过value属性设置需要扫描的包:

@ComponentScan({“com.company.user”,“com.company.service”})

类路径
  通过basePackageClasses属性指定需要扫描的类:

@ComponentScan(basePackageClasses={XxxService.class, YyyService.class})

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值