Quarkus |
Spring / SpringBoot |
Geral |
|
Não precisa de uma extensão adicional e nem configuração no IDE para fazer hot reload (já é padrão) |
Precisa da dependência Spring DevTools (que pode precisar de configuração no IDE) |
Não precisa de uma classe Application para iniciar a app, apesar de poder ser adicionada para configuar a mesma (como usando |
Precisa de uma classe Application com um método |
REST Controllers |
|
Usa anotações da API Jakarta RESTful Web Services |
Usa anotações próprias |
Sugere o sufixo |
Sugere o sufixo |
Caminho base dos endpoints de um resource/controller são definidos como por exemplo, |
Caminho base dos endpoints de um resource/controller são definidos como por exemplo, |
Não precisa de uma anotação |
Precisa de anotação |
Anotações que definem o verbo HTTP permitido para um método tem exatamente o nome do verbo em maiúsculas, como |
Anotações que definem o verbo HTTP permitido para um método sequem o padrão |
Para que objetos enviados no body da requisição sejam recebidos, o parâmetro do método do endpoint não precisa de uma anotação |
A anotação é obrigatória |
Acesso a Dados / Repositories: ambos tem suporte a JPA/Hibernate |
|
Possui a extensão Quarkus Panache que segue uma abordagem opinada para fornecer operações CRUD diretamente nas classes de entidade do seu projeto (classes anotadas com |
Não possui opção parecida |
Também tem suporte a repositórios |
Por meio de interfaces Repository, anotadas com |
Injeção de Dependências |
|
Usa a anotação |
Usa a anotação própria |
Compilação Nativa |
|
Suporte nativo à GraalVM desde o início, já configurado quando se cria um projeto |
O suporte só veio com Spring Boot 3.0 e requer a adição do plugin native-maven-plugin |
REST Clients |
|
Permite definir clientes de APIs REST de forma declarativa, onde você apenas cria uma interface usando as mesmas anotações que usa para controllers e o Quarkus cria a implementação dela pra você. Precisa das extensões quarkus-rest-client e quarkus-rest-client-jsonb (para serialização JSON). |
Também permite isso por meio da dependências OpenFeign (que usa as mesmas anotações dos controllers em Spring) e mais recentemente Spring Interface Clients (que usa o padrão |
Cloud Native/Microservices (como Health Check e Tolerância à Falhas) |
|
Implementação fornecida pelas extensões |
Fornecida por meio do Spring Cloud. |
Created
July 11, 2025 17:25
-
-
Save manoelcampos/4b19f5e2ff49ad5f53c948133480b898 to your computer and use it in GitHub Desktop.
Quarkus vs Spring/SpringBoot
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment