问题描述

最近启动springboot项目的时候,发现有一条日志:Multiple Spring Data modules found, entering strict repository configuration mode!,该日志虽然是INFO级别的,但强迫症看着实在是太难受了。所以花了一些时间去解决这个问题。这条日志的大概意思是,springboot发现了多个repository,为了代码的健壮性,自动进入严格配置模式。啥意思呢,用过repository的同学都知道,使用repository后,可以通过类似findById之类的简单写法,避开写SQL等查询,直接查询数据库。所以,当你有多种repository后,为了避免混乱,最好给不同的repository配置扫描路径。避免把Mysql的repository让redis给读取了等错误情况。

解决办法

  1. 如果你确实在使用多种repository,那么可以在main函数的启动注解上,标明repository扫描路径。比如:@EnableMongoRepositories(basePackages = "***.mongo.dao")@EnableRedisRepositories(basePackages = "***.redis.dao")等。
  2. 这种情况应该比较多,像我一样,第一次听说redis还有repository的……都是直接通过RedisTemplate直接操作的。所以直接去掉redis的repository类即可。在main函数上修改springboot注解,exclude相关类。代码:@SpringBootApplication(exclude = { RedisRepositoriesAutoConfiguration.class})。如下图所示:

当然,你重复的repository类可能和我不一样,可以自己查看一下。首先在IntelliJ中双击shift键,搜索RepositoryFactorySupport类,然后打开它。点击类名左侧的箭头,看看有哪些实现类,这些实现类就是一个一个的repository,排除掉即可。操作截图如下:

点击箭头,查找实现类:

根据这个结果,把你不用的exclude排除掉即可!

版权声明:《springboot启动日志:Multiple Spring Data modules found, entering strict repository configuration mode》为CoderBBB作者「ʘᴗʘ」的原创文章,转载请附上原文出处链接及本声明。

原文链接:https://www.coderbbb.com/articles/26

最新文章

  1. Qt::QObject类
  2. Bomb
  3. COJ883 工艺品
  4. box2d.js
  5. android 在应用中切换语言
  6. debug,trace,release项目配置区别
  7. Android中如何将dp,dip,sp与px相互转化
  8. brent ozar的sqlserver dba训练课程翻译——第二章:手动恢复数据库
  9. BoundsChecker使用
  10. java中synchronized的使用方法与具体解释
  11. Python基础学习7---异常处理
  12. 微信H5支付:网络环境未能通过安全验证,请稍后再试。解决办法(PHP版)
  13. 《HelloGitHub》第 22 期
  14. jdk版本相关问题
  15. c++中STL容器中的排序
  16. HTTP 599: SSL certificate problem: unable to get local issuer certificate错误
  17. 【转载】 强化学习(十)Double DQN (DDQN)
  18. 2.第一个ASP.NET MVC 5.0应用程序
  19. Flask视图函数报fmalformed url rule错误的原因
  20. centos设置中文输入法无效的解决办法

热门文章

  1. Spring(Spring的读取外部资源- p 命名空间)
  2. jupyter环境搭建
  3. 「CEOI2019」魔法树
  4. 高仿微信|基于Windows微信实现一个IM即时通讯App
  5. [COCI2015-2016#2] VUDU
  6. PostgreSQL维护年龄的处理
  7. html(Angular) 调用本地安装exe程序
  8. 目标库DML 堵塞(dblink)导致OGG延迟
  9. corundum:100G NIC 学习:(一)
  10. form表单enctype扩展