springboot 扫描不到dao层和controller的问题

一、提示 A component required a bean of type ‘com.imooc2.product.category.dao.ProductCategoryDao’ that could not be found即dao层找不到了
解决:使用@MapperScan 注解或者@MapperScans注解

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.ComponentScans;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@EnableSwagger2
@SpringBootApplication
@MapperScan("com.imooc2.product.**.dao")
public class ProductApplication  {//extends SpringBootServletInitializer

    public static void main(String[] args) {
        SpringApplication.run(ProductApplication.class, args);
    }

}

二、问题:

  1. 提示controller和services层找不到
  2. 访问controller的方法显示404错误

解决:

  1. 启动类放到跟目录下面,如图,我的controller和service分别在com.imooc2.product的product文件夹和category文件夹里面,所以启动类要放在根目录com.imooc2.product下
    原因:sprigboot 会自动扫描根目录以下的全部包
    在这里插入图片描述
  2. 有可能是缓存还是项目启动类识别不了controller层和service层,或者你不想把启动类放到根目录下去默认扫描,可以更新至springboot 2.0.5.RELEASE,使用自定义扫描包注解@ComponentScan(basePackages = {“com.imooc2.product.product”, “com.imooc2.product.category”})或者@SpringBootApplication(scanBasePackages = {“com.imooc2.product.product”, “com.imooc2.product.category”}),二选一即可如图所示
@SpringBootApplication(scanBasePackages = {"com.imooc2.product","com.imooc2.product.**.dao"})//二选一
@ComponentScan(basePackages = {"com.imooc2.product.product", "com.imooc2.product.category"})//二选一
@MapperScan("com.imooc2.product.**.dao")
public class ProductApplication  {

    public static void main(String[] args) {
        SpringApplication.run(ProductApplication.class, args);
    }

}

注意:不要使用错误注解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值