2021-09-10

记录学习SpringBoot时遇到的一个坑

项目结构

项目结构

HelloController中的内容

@RestController
public class HelloController {
    @RequestMapping("/test")
    public String handle01(){
        return "Hello, Spring Boot 2!";
    }
}

MainApplication中的内容:

/**
 * 主程序类
 * @SpringBootApplication:这是一个SpringBoot应用
 */
@SpringBootApplication()
public class MainApplication {
    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class,args);
    }
}

启动项目,访问路径:http://localhost:8080/test,报错了!!

在这里插入图片描述
原因是:SpringBoot默认扫描的是主类所在包及其子包中的其他类,分析项目结构可以发现,MainApplication这个主类(被@SpringBootApplication标注的类)在boot这个包下,而HelloController在controller这个包下,所有SpringBoot在启动时默认是扫描不到其他包下的类的,只能扫描到boot这个包下的类。

解决方法:
1、把MainApplication这个主类移到cn.lgz这个包下

2、主类中使用注解配置要扫描的包,如下:

@SpringBootApplication(scanBasePackages = "cn.lgz")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值