一. 踩坑原因

报错内容:

2022-04-27 17:34:24.004  WARN 2159230 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'redisController' defined in URL [jar:file:/usr/local/sbin/demo-web-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/com/dx/demoweb/controller/RedisController.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.s
虽然EhCache已经能够适用很多应用场景,但是由于EhCache是进程内的缓存框架,在集群模式下时,各应用服务器之间的缓存都是独立的,因此在不同服务器的进程间会存在缓存不一致的情况。即使EhCache提供了集群环境下的缓存同步策略,但是同步依然需要一定的时间,短暂的缓存不一致依然存在。 在一些要求高一致性(任何数据变化都能及时的被查询到)的系统和应用中,就不能再使用EhCache来解决了,这个时候使用集中式缓存是个不错的选择,因此本文将介绍如何在 Spring Boot 的缓存支持中使用 Redis 进行数据缓存。 SSM开发,使用 spring MVC框架中自带的 spring 验证框架来验证数据,编写了一个org. spring framework.validation.Validator接口的验证器类SignUpValidator来对领域数据进行验证时,报了以下错误: “org. spring framework. bea ns.factory. Bea nCreationException: Error creating b... spring boot 项目,之前有mysql数据源,现在又新增了clickhouse数据源,于是新增了一个clickhouseDatasource的配置 bea n,结果 报错 ,如下: nested exception is org. spring framework. bea ns.factory. Bea nCreationException: Error creating bea n with name 'get... Caused by: org. spring framework. bea ns.factory.NoUnique Bea nDefinitionException: No qualifying bea n of type 'org. spring framework.data. redis .core. Redis Template <?, ?>' available: expected single matching bea n but found 2: redis Template , string Redis Template 这篇博客是对【@Resource 源码解析】做的另一个补丁。主要会讲解在使用@Resource的时候发生的 expected single matching bea n but found 2异常在源码层面是一个怎么样子的过程。为什么要用@Resource讲解,因为这个注解比较好模拟异常的发生,实际上@Autowired发生的原理也是一样的。 @Service public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {} 3、entity类 public class User { @Tabl 【 报错 】Error creating bea n with name '***ManagementController': Unsatisfied dependency expressed through field '***Service'; nested exception is org. spring framework. bea ns.factory.NoUnique Bea nDefinitionException: No qualifying bea n of type 'com.***. ***.servic available: expected single matching bea n but found 2: smsLogServiceImpl,ISmsLogService 如上图,是在启动的时候出现的问题,从字意上可以看出,是说在注入 bea n的时候,出现了两个, spring 不知道应该用哪个为好,这里说下可能出现到的原因: 1、譬如service层和mapper层没有引入对应的注解(@Service/@Mapper)引起的。 2、一个接口被两个实现类实现了,当使用到@Autowired注解引入的时候.