Verursacht durch: org.springframework.beans.factory.UnsatisfiedDependencyException: Fehler beim Erstellen von Bean mit dem Namen 'stringRedisTemplate' in der Klassenpfadressource definiert [org/springframework/boot/autoconfigure/data/redis/RedisAutoConfiguration.class]: Unerfüllte Abhängigkeit ausgedrückt durch den Parameter der Methode 'stringRedisTemplate' 0; Die verschachtelte Ausnahme ist org.springframework.beans.factory.BeanCreationException: Fehler erstellte Bean mit dem Namen 'redisConnectionFactory', definiert in der Klassenpfadressource [org/springframework/boot/autoconfigure/data/redis/LettuceConnectionConfiguration.class]: Bean-Instanziierung über die Werksmethode fehlgeschlagen; Die verschachtelte Ausnahme ist org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory]: Die Factory-Methode 'redisConnectionFactory' hat eine Ausnahme geworfen; verschachtelte Ausnahme ist java.lang.NoClassDefFoundError: org/apache/commons/pool2/impl/GenericObjectPoolConfig Umgebung:
spring-boot-starter-data-redis 2.1.1.RELEASE Version
spring-boot-starter-parent 2.1.1.RELEASE Version
JDK 1.8
POM. XML-Konfiguration
Fehlerbericht vom Beginn des Projekts, Analyse der Ursache des Fehlers:
Die springboot 2.X-Version verwendet den Salat-Verbindungspool, umErsetzenJedis。 Salat und Jedis sind beide Client-Programme, die sich mit dem Redis Server verbinden.Jedis ist direkt mit dem Redis-Server in einer Multithread-Umgebung verbundenNicht-gewindete Sicherung, es sei denn, es werden Verbindungspools verwendet, wodurch physische Verbindungen für jede Jedis-Fraktion hinzugefügt werden.Salat basiert auf Nettys Stromverbindung, die gleichzeitig zwischen mehreren Threads zugänglich ist, undGewindesicherung, die die Anforderungen für gleichzeitigen Zugriff in einer Multithread-Umgebung erfüllt, und es ist ein skalierbares Design, sodass man bei nicht genügend Verbindungsinstanzen nach Bedarf hinzufügen kann.
Lösung:
Springboot2. X verwendet Standardsalat, um sich mit dem Pool zu verbinden, und commons-pool2 muss eingeführt werden
AbschweifungWenn Sie einen Fehler wie diesen erhalten:
Überlegen Sie, in Ihrer Konfiguration eine Bean vom Typ 'org.springframework.data.redis.core.RedisTemplate' zu definieren.
Der Einspritzpunkt hat folgende Annotationen: - @org.springframework.beans.factory.annotation.Autowired(required=true) Bitte beachten Sie:
|