1
resposta

[Dúvida] Interface CommandLineRunner

Boa tarde, logo no inciio deste curso "Boas Práticas em Java - Melhorando códigos com boas práticas", no momento que o professor informou que este projeto seria executado com linha de comando eu imaginei que a nossa classe AdopetConsoleApplication iria implementar a interface CommandLineRunner. Digo isso pois esta é uma pratica comum em alguns cursos aqui na plataforma. Eis a minha dúvida, o uso da interface é facultativo ? Há alguma vantagem em usa-la ou não? Também deixamos de fora a annotation @SpringBootApplication, ela também não seria necessária? Talvez eu esteja deixando passar alguma informação, mas gostaria de que alguém me tirasse esta dúvida.

Muito Obrigado.

1 resposta

Olá, Leandro! Boa tarde!

Sua dúvida é bastante pertinente e vou tentar esclarecer os pontos que você levantou.

Uso da Interface CommandLineRunner: O uso da interface CommandLineRunner em uma aplicação Spring Boot é opcional. Essa interface é útil quando você deseja executar algum código específico assim que a aplicação é iniciada. Implementando CommandLineRunner, você pode definir o método run, que será executado após o contexto do Spring Boot ser carregado.

Isso é especialmente útil para inicializações ou execuções de tarefas que precisam acontecer logo no início. No entanto, se o seu projeto não tem essa necessidade específica, você pode optar por não utilizá-la.

Annotation @SpringBootApplication: Essa annotation é uma combinação de três outras annotations: @Configuration, @EnableAutoConfiguration, e @ComponentScan. Ela é geralmente usada na classe principal da sua aplicação Spring Boot para indicar que essa é a classe de configuração principal.

No caso do projeto desenvolvido durante a aula é possível desenvolver mesmo sem a utilização das anotações e implementação comentada pelo fato de todas as chamadas de métodos, e uma parte lógica, do projeto estão no arquivo principal, o AdopetConsoleApplication. Então acaba sendo desnecessário a utilização, para esse caso em específico.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.