Pular para o conteúdo principal

Questão de Engenharia de Software — Frameworks — FGV 2024

Engenharia de SoftwareFrameworks
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.
  1. 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.
  2. BO Hibernate é um framework de teste para aplicações Java, amplamente utilizado em conjunto com o JUnit para realizar testes de unidade.
  3. CO Spring é um framework voltado exclusivamente para o desenvolvimento de aplicações monolíticas, não oferecendo suporte para arquiteturas baseadas em microsserviços.
  4. DO JUnit é um framework de persistência utilizado para o mapeamento objeto-relacional (ORM), permitindo interações eficientes com bancos de dados.
  5. 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.

Gabarito: letra A.

Link permanente: /questoes/fg079727