解决springboot中mongodb不启动及Dao不能被扫描到的问题
作者:myl0808
springboot中mongodb不启动及Dao不能被扫描到
问题1
Field clipResultDao in nnu.ogms.demo.controller.GeoAnalysisController required a bean of type ‘Dao’ that could not be found
问题2
启动spring boot,mongodb虽然已经在pom文件中写了,有这个依赖,但是仍然不能启动(不是报错,是根本没启动).。
解决办法:
我的情况是在pom依赖中添加了不必要的依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> <version>2.2.3.RELEASE</version> </dependency>
这个autoconfigure看似方便了bean的配置,实际上有时候会导致一些问题,注释掉该依赖,即可解决问题
springboot扫dao层两种方式和注意事项
错误:
***************************
APPLICATION FAILED TO START
***************************Description:
A component required a bean of type 'com.example.dao.AccountDao' that could not be found.
Action:Consider defining a bean of type 'com.example.dao.AccountDao' in your configuration.
Process finished with exit code 1
解决:
原因是启动类没有扫dao层的包
1,启动类加注解
@MapperScan("dao层所在路径")
并且路径不能写"com.example",com.example包下的controller和service层本来就会被自动扫描到,若想spring找到dao层要写具体路径"com.example.dao"或者"com.example.**.dao"
2,加配置类
@Configuration @MapperScan({"com.qfedu.dao"}) public class MyBatisConfig { }
本质也是@MapperScan的注解扫包,只能对mybatis单独使用,范围较小
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。