Questão nº 35
Questão de Tecnologia da Informação · FCC TRT23 2022 (nº 35)
Considere a classe abaixo, criada utilizando Spring Boot, em condições ideais.
```
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@EnableAutoConfiguration
public class Trt {
@RequestMapping("/")
String home() {
return " TRIBUNAL REGIONAL DO TRABALHO DA 23ª REGIÃO";
}
public static void main(String[] args) {
SpringApplication.run(I, args);
}
}
```
Para dizer à classe `SpringApplication` do Spring Boot qual é o componente primário do Spring, a lacuna I deve ser preenchida corretamente com
- A`SpringBoot.class`
- B`Trt.class` (alternativa correta)
- C`SpringBoot.start[Trt.class]`
- D`Trt.app`
- E`SpringBoot.main`
Resposta comentada
Gabarito Alternativa B
O SpringApplication.run() é o método que inicia sua aplicação Spring Boot, e ele precisa saber qual é a classe principal que contém as configurações iniciais da sua aplicação. Essa classe é geralmente a que possui o método main e anotações como @SpringBootApplication (ou @EnableAutoConfiguration como no exemplo).
- (A) Incorreta:
SpringBoot.classnão existe como uma classe que representa o ponto de entrada da sua aplicação.SpringBooté o nome do framework, não uma classe específica que você passaria para o métodorun. Armadilha: O nomeSpringBootpode enganar por ser o nome do framework, mas o métodorunespera a sua classe principal. - (B) Correta:
Trt.classé a forma correta de referenciar a própria classeTrtcomo o componente primário do Spring Boot. O métodoSpringApplication.run()espera um objetoClass<?>que aponta para a classe principal da aplicação, que neste caso é a classeTrtonde o métodomainestá definido. - (C) Incorreta:
SpringBoot.start[Trt.class]não é uma sintaxe válida em Java para chamar um método ou referenciar uma classe. O método correto érun, e a sintaxe para passar um argumento de classe éNomeDaClasse.class. - (D) Incorreta:
Trt.appnão é uma propriedade ou campo estático definido na classeTrtque representaria a aplicação. Não existe tal convenção ou estrutura padrão no Spring Boot. - (E) Incorreta:
SpringBoot.mainnão é uma referência válida.mainé um método estático, não uma classe ou um campo que possa ser passado como argumento dessa forma.
Fonte: FCC TRT23 2022 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.