Questão de Engenharia de Software — Frameworks — FGV 2024
Engenharia de Software›Frameworks
Código
fg079727
Banca
FGV
Órgão
DATAPREV
Ano
2024
Nível
Superior
Cargo
ATI - Desenvolvimento de Software
No desenvolvimento de software, os frameworks Spring, Spring Cloud, Spring Boot, Hibernate e JUnit desempenham papéis importantes na construção de aplicações modernas. Assinale a opção correta em relação às características e finalidades desses frameworks.
AO Spring Boot é responsável por fornecer uma solução para desenvolvimento de microsserviços escaláveis, enquanto o Spring Cloud facilita a configuração e o gerenciamento de sistemas distribuídos.
BO Hibernate é um framework de teste para aplicações Java, amplamente utilizado em conjunto com o JUnit para realizar testes de unidade.
CO Spring é um framework voltado exclusivamente para o desenvolvimento de aplicações monolíticas, não oferecendo suporte para arquiteturas baseadas em microsserviços.
DO JUnit é um framework de persistência utilizado para o mapeamento objeto-relacional (ORM), permitindo interações eficientes com bancos de dados.
EO Spring Boot elimina a necessidade de configuração manual de dependências e servidores de aplicação, mas exige o uso de servidores como Tomcat e JBoss em modo standalone.
Revelar gabarito e comentário▾
GabaritoA — O Spring Boot é responsável por fornecer uma solução para desenvolvimento de microsserviços escaláveis, enquanto o Spring Cloud facilita a configuração e o gerenciamento de sistemas distribuídos.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Frameworks Java: Spring, Spring Boot, Spring Cloud, Hibernate e JUnit
Gabarito: letra A. A questão exige conhecer as finalidades de cada framework. O Spring Boot é um facilitador para criação de microsserviços com autoconfiguração e servidor embutido, enquanto o Spring Cloud oferece ferramentas para sistemas distribuídos (service discovery, configuração centralizada, etc.). As demais alternativas trocam as atribuições: Hibernate é ORM (não teste), JUnit é teste (não ORM), Spring não é exclusivo para monolíticos, e Spring Boot não exige servidores standalone.
A banca testa o conhecimento básico sobre os frameworks mais usados no ecossistema Java. Vamos analisar cada alternativa:
Framework
Finalidade Principal
Característica Chave
Relação com Microsserviços
Spring Boot
Simplificar configuração e deploy de aplicações
Autoconfiguração e servidor web embutido (Tomcat, Jetty, Undertow)
Facilitador para criação de microsserviços
Spring Cloud
Construção de sistemas distribuídos
Service Discovery (Eureka), Configuration Server, API Gateway
Ferramentas essenciais para arquitetura de microsserviços
Spring
Contêiner de IoC e suporte a diversos estilos de arquitetura
Módulos para web, segurança, dados
Base para microsserviços via Spring Boot e Spring Cloud
Hibernate
Mapeamento objeto-relacional (ORM)
Persistência em bancos de dados relacionais
Não é framework de teste
JUnit
Testes unitários
Framework de teste para Java
Não é framework de persistência
Frameworks Java
1Spring
Contêiner IoC
Base para microsserviços
2Spring Boot
Autoconfiguração
Servidor embutido
Starters de dependências
3Spring Cloud
Sistemas distribuídos
Service Discovery (Eureka)
Config Server
API Gateway
4Hibernate
ORM (persistência)
Mapeamento objeto-relacional
5JUnit
Testes unitários
LEVEL · soulevel.com.br
Alternativa A — ✅ Correta ⟵ GABARITO
O Spring Boot é um projeto do ecossistema Spring que tem como objetivo simplificar a configuração e o deploy de aplicações, especialmente para microsserviços. Ele fornece autoconfiguração, servidores web embutidos (Tomcat, Jetty, Undertow) e uma vasta gama de starters para dependências. Já o Spring Cloud é um conjunto de ferramentas para construção de sistemas distribuídos e baseados em microsserviços, incluindo Service Discovery (Eureka), Configuration Server (Spring Cloud Config), API Gateway (Zuul/Gateway), balanceamento de carga e mais. Portanto, a descrição está correta.
SE LIGUE NESSA!
O Spring Framework, de forma geral, é um contêiner de IoC e suporta diversos estilos de arquitetura, incluindo microsserviços através do Spring Boot e Spring Cloud (fonte: documentação oficial e artigos técnicos).
Alternativa B — ❌ Incorreta
O Hibernate é um framework de mapeamento objeto-relacional (ORM) para persistência em bancos de dados relacionais. Ele não é um framework de teste. JUnit é sim o framework de testes unitários para Java. A alternativa troca as funções: Hibernate não é usado para testes, e sim para persistência.
Alternativa C — ❌ Incorreta
O Spring não é exclusivo para aplicações monolíticas. Pelo contrário, o Spring Framework serve de base para o desenvolvimento de microsserviços via Spring Boot e Spring Cloud. O próprio Spring oferece módulos para web, segurança, dados, etc., que são perfeitamente utilizáveis em arquiteturas distribuídas. A afirmação é falsa.
Alternativa D — ❌ Incorreta
O JUnit é um framework de testes unitários, não de persistência. Quem faz mapeamento objeto-relacional é o Hibernate ou outras implementações de JPA. A alternativa inverte os papéis.
Alternativa E — ❌ Incorreta
O Spring Boot realmente reduz a configuração manual (autoconfiguração) e não exige servidores de aplicação externos – ele embute servidores como Tomcat, Jetty, etc. A afirmação de que "exige o uso de servidores como Tomcat e JBoss em modo standalone" é errada: o Spring Boot pode ser executado com servidor embutido (modo standalone com java -jar) ou empacotado como WAR para deploy em servidor externo, mas não "exige" o modo standalone. Além disso, JBoss não é um servidor comum no ecossistema Spring Boot (usam-se mais Tomcat ou Jetty). Portanto, incorreta.
NÃO CAIA NESSA!
Para memorizar: Spring Boot = agilidade e microsserviços; Spring Cloud = sistemas distribuídos; Hibernate = banco de dados (ORM); JUnit = testes. Não confunda as funções – a banca adora trocá-las.