SpringBoot启动时报错如下:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.atguigu.yygh.hosp.mapper.HospitalSetMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
原因:
用 @Autowired 注入了mapper组件,但却找不到对应的mapper
解决:有多种方法。
方法一:
创建一个配置类,加上@MapperScan扫描对应的mapper包。
import org.mybatis.spring.annotation.MapperScan;
@Configuration
@MapperScan("com.atguigu.yygh.hosp.mapper")
public class HospConfig {
}
方法二:
在mapper接口上加上@Mapper注解。此处加@Repository和@Component注解无效。
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface HospitalSetMapper extends BaseMapper<HospitalSet> {
}
方法三:
在启动类加上@MapperScan扫描对应的mapper包。与方法一类似。