es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La inyección de dependencia de Spring no encuentra el bean del repositorio después de agregar la dependencia spring-boot-starter-data-redis.

Tengo este proyecto de Spring Boot (versión 2.3.3.RELEASE) que utiliza Spring Webflux y Spring Data y R2DBC. Estaba funcionando bien hasta que agregué la siguiente dependencia:

implementation 'org.springframework.boot:spring-boot-starter-data-redis'

Después de esto, Spring no puede iniciarse porque no puede resolver la dependencia para este objeto:

interface BookingCountRepository : ReactiveCrudRepository<bookingcount, string=""> {
...
}

El mensaje de error es el siguiente:

2021-12-22 10:20:59,916 [main] ERROR [] o.s.b.d.LoggingFailureAnalysisReporter - __***************************_APPLICATION FAILED TO START_***************************__
Descripción:
El parámetro 1 del constructor en xx.xx.xx.xx.BookingService requiere un bean del tipo 'xx.xx.xx.xx.BookingCountRepository' que no se pudo encontrar.
Acción:
Considera definir un bean del tipo 'xx.xx.xx.xx.BookingCountRepository' en tu configuración.

Si elimino la dependencia spring-boot-starter-data-redis, el problema deja de ocurrir.

Mi intuición es que probablemente sea un problema de conflicto de dependencias, con un conflicto entre org.springframework.boot:spring-boot-starter-data-r2dbc y org.springframework.boot:spring-boot-starter-data-redis. Pero no estoy seguro.

¿Alguien ha tenido problemas con esto? Si sí, ¿cómo solucionaron este problema?

FYI: La versión de JVM Runtime es OpenJDK 11, el lenguaje es Kotlin y la versión de Spring Boot es 2.3.3.RELEASE.</bookingcount,>

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Es posible que haya un conflicto entre las dependencias org.springframework.boot:spring-boot-starter-data-r2dbc y org.springframework.boot:spring-boot-starter-data-redis. Una solución potencial sería excluir la dependencia conflictiva de uno de los starters, de la siguiente manera:

    implementation ('org.springframework.boot:spring-boot-starter-data-r2dbc') {
        exclude group: 'org.springframework.boot', module: 'spring-boot-starter-data-redis'
    }
    

    Esto excluirá la dependencia spring-boot-starter-data-redis del starter spring-boot-starter-data-r2dbc. Alternativamente, podrías intentar actualizar la versión de Spring Boot para ver si resuelve el conflicto.

Comments are closed.