java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > springboot中mongodb不启动及Dao不能被扫描到

解决springboot中mongodb不启动及Dao不能被扫描到的问题

作者:myl0808

这篇文章主要介绍了解决springboot中mongodb不启动及Dao不能被扫描到的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

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单独使用,范围较小

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文