NoSuchBeanDefinitionException: No qualifying bean of type ‘com.example.demo.dao.***Dao‘ available
错误新创建的项目,使用了Mybatis 启动报错:ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationEx..
错误
新创建的项目,使用了Mybatis 启动报错:ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'poemController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'poemService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.example.demo.dao.PoemDao' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)}
原因
没有扫描mapper 接口,所以没有自动创建这些 bean,所以注入的时候找不到PoemDao就报错了:
Controller 层注入 Service
Service 层注入 Dao
Dao 没有,抛出异常。
解决方案
方案1. 启动类添加注解:
@MapperScan("com.example.demo.dao")
方案2. 所有mapper添加注解@Mapper
@Mapper
public interface PoemDao {。。。}
参考资料
更多推荐
所有评论(0)