ruoyi框架启动报错:
"Error creating bean with name 'sysConfigServiceImpl': Invocation of init method failed;"
和"Error creating bean with name 'captchaController': Unsatisfied dependency expressed through field 'XXX'; "
和"Exception encountered during context initialization "
这三个错时一般有几种情况,查资料全部整理出来了:
- 检查项目中所有.yml文件的数据库密码和redis密码(90%的问题都出在这里)
- 检查JDK版本
- 查看xml配置文件路径
- 查看xml中的方法名id是否重复了
- 对应的接口ServiceImpl文件是否有:@Service
- serives和serviceImpl没有对应的方法
- xml中方法的参数类型paramterType不对
- application放置的位置不对
- 类忘记加 @Repository 注解
- mybatis-config.xml文件缺少了表头尖括号内容 如下:
- 在mapper.xml中resultMap的type中包的路径错误,在这个项目中就是因为.xml中的包路径错误导致
- 查看扫描方法以及范围是不是没有把文件路径包含在内
- pom.xml缺少了某些插件
- redis服务异常
下面是我项目报错的点:
Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'captchaController': Unsatisfied dependency expressed through field 'configService111'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sysConfigServiceImpl': Invocation of init method failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; nested exception is org.springframework.data.redis.connection.PoolException: Could not get a resource from the pool; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to 127.0.0.1:6379
这种情况下,最先排查的就是检查项目中所有.yml文件的数据库密码和redis密码,因为基本上报
Error creating bean with name 'sysConfigServiceImpl': Invocation of init method failed
这个错时,90%的问题都出在这里,后面跟的其他报错信息只是来凑热闹,非常具有迷惑性
如图,这些关系到数据库的地方一个一个排查发现的确少配了一个,修正完就正常了
另一种情况是 .xml文件中方法名id重复了,但这个报错就很清晰了,连XML报错的文件路径都爆出来了,如图
别的原因有很多大佬的帖子都有说到,我是因为redis密码问题,集中记录一下