← Questões de Programação

Programação · FGV · 2023

Questão comentada de Programação

O analista Jacó implementou a aplicação TCERestAPI utilizando Java com Spring Boot. A TCERestAPI é apta para o deploy em servidores de aplicação Java preexistentes, mas também suporta a execução standalone do Spring Boot. Para viabilizar ambas as formas de execução da TCERestAPI, Jacó precisou modificar a classe principal da aplicação, fazendo com que ela estendesse diretamente determinada classe do Spring Boot. Jacó fez com que a classe principal da TCERestAPI estendesse a classe do Spring Boot:v

Gabarito: B

Quando voce quer que uma aplicação Spring Boot rode em dois cenários, isto é, como executável standalone e também dentro de um servidor de aplicações Java tradicional, a classe principal costuma estender uma classe específica do Spring Boot para apoiar esse modo de implantação. Essa classe permite preparar a aplicação para ambiente servlet/container externo, sem perder a possibilidade de subir com o Tomcat embutido no modo standalone. No Spring Boot, a classe usada para esse objetivo é a SpringBootServletInitializer. Ela serve como ponto de integração quando a aplicação será empacotada como WAR e implantada em um servidor como Tomcat, JBoss ou WebLogic. Em termos práticos, ela ajuda o Spring Boot a inicializar a aplicação no contexto do container externo. Já no modo standalone, o Spring Boot continua funcionando normalmente com sua inicialização própria, normalmente a partir do método main e do SpringApplication.run. Ou seja: uma coisa não exclui a outra. A aplicação pode ser preparada para os dois mundos sem drama, como um sistema que usa terno de dia e moletom em casa. Por isso, o gabarito é a alternativa B. As demais opções misturam nomes de classes de configuração, inicializadores internos ou dependências de servidor, mas não são a classe que a classe principal deve estender para habilitar deploy em servidor preexistente.

Continue treinando

Questões relacionadas