ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

springboot启动日志:Multiple Spring Data modules found, entering strict repository configuration mode

2021-10-31 23:05:25  阅读:223  来源: 互联网

标签:Multiple springboot repository redis mode 日志


问题描述

最近启动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})。如下图所示:

a536fef7502c417bb8300e9259006355.jpg

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

0235070e455e4a90bec3cedffed0f37b.jpg

点击箭头,查找实现类:

546bf19736d94065997b75bdad5a4073.jpg

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

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

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

相关文章:

标签:Multiple,springboot,repository,redis,mode,日志
来源: https://www.cnblogs.com/cliyun/p/15491545.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有