arranque de primavera: no se llama al método CommandLineRunner run()

CorePress2024-01-25  9

Probé todas las respuestas proporcionadas en esta plataforma pero no funcionó. Estoy ejecutando este ejecutor de línea de comando pero el método de ejecución no llama.

Agradezco su ayuda.

Gracias.

Probé la siguiente solución pero obtuve esta excepción.

Primero: en tu clase Bootstrap (la clase que tiene el método principal con SpringApplication.run(..., args)), puedes agregar el atributo scanBasePackages en la anotación @SpringBootApplication:

@SpringBootApplication(scanBasePackages = {"com.project.data.runner"}) Esto le indicará a Spring que busque componentes también en el paquete com.project.data.runner.



------------------------------------

Tu clase Bootstrap está en el paquete com.project.demo.data

Su ejecutor de línea de comando está en el paquete com.project.data.runner

Spring buscará componentes en los subpaquetes de com.project.demo.data, es decir, en com.project.demo.data.*, es por eso que su ejecutor de línea de comando nunca se ejecuta. Spring nunca lo encontró.

Tienes algunas opciones, pero te mencionaré dos:

Primero: en tu clase Bootstrap (la clase que tiene el método principal con SpringApplication.run(..., args)), puedes agregar el atributo scanBasePackages en la anotación @SpringBootApplication:

@SpringBootApplication(scanBasePackages = {"com.project.data.runner"})

Esto le indicará a Spring que busque componentes también en el paquete com.project.data.runner.

O

2do: mueve tu línea de comandoe runner de com.project.data.runner a com.project.demo.data.runner (o algo similar que se encuentre en com.project.demo.data)

ACTUALIZAR

Como hemos resuelto el problema en el chat, actualizaré la respuesta con la solución.

Dado que estás usando Spring Data JPA Repositories, si tus repositorios no están en el paquete o subpaquetes donde reside tu clase Bootstrap, entonces debes agregar @EnableJpaRepositories a una clase @Configuration y configurar explícitamente en qué paquete está tu repositorio. es.

Tu clase de arranque se verá así:

@SpringBootApplication(scanBasePackages = { "com.project.data.runner"})
@Configuration
@EntityScan("com.project.data.entity")
@EnableJpaRepositories(basePackages = { "com.project.data.repository" })
public class DataJpaApplication {

    public static void main(String[] args) {
        SpringApplication.run(DataJpaApplication.class, args);
    }
}

13

Hola Matheus, probé la primera solución pero obtuve esa excepción. Adjunto la captura de pantalla.

- Naresh

28 de marzo de 2021 a las 5:31

Y probé el segundo, pero no funcionó.

- Naresh

28 de marzo de 2021 a las 5:31

¿En qué paquete está tu PassangerRepository?

- Matheus

28 de marzo de 2021 a las 5:33

Está en "com.project.data.repository" paquete

- Naresh

28 de marzo de 2021 a las 5:35

1

Vamos al chat, lo probé y funcionó correctamente aquí.

- Matheus

28/03/2021 a las 15:44



------------------------------------

Tuve el mismo problema y la solución fue agregar @Component a la definición de clase.

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare