🚀 5.3 Onde Vive a Mágica: Convenções do Spring Boot

Diferente do padrão JEE tradicional (onde as páginas ficavam perdidas no diretório WEB-INF), o Spring Boot 3.5+ impõe convenções inteligentes que organizam nossa aplicação de forma profissional e segura.

Estrutura de Diretórios Premium

Tudo o que diz respeito ao front-end reside dentro de src/main/resources. Seguir esta estrutura é fundamental para que o Auto-Configuration encontre seus arquivos sem que você precise escrever uma única linha de código.

graph TD
    Resources[src/main/resources]
    Resources --> Static[static/ : Arquivos Públicos]
    Resources --> Templates[templates/ : Arquivos Privados]
    Resources --> Public[public/ : Páginas de Erro]
    
    Static --> CSS[css/main.css]
    Static --> IMG[img/logo.png]
    Static --> JS[js/app.js]
    
    Templates --> HTML[index.html]
    Templates --> CLIENTES[clientes/lista.html]

1. Diretório static/ (Acesso Direto)

Tudo aqui é exposto diretamente na raiz da URL. Se você colocar logo.png em static/img/, ele será acessível em http://localhost:9000/img/logo.png. Use para:

  • CSS, Imagens e JavaScript.
  • Bibliotecas externas (WebJars).
  • Manifestos de Progressive Web Apps (PWA).

2. Diretório templates/ (Segurança Total)

Este diretório é privado. Seus arquivos .html do Thymeleaf não podem ser acessados diretamente via URL pelo usuário. Eles só aparecem na tela quando um Controller do Spring MVC os solicita, garantindo que o processamento do servidor sempre aconteça.

3. Diretório public/ (Resiliência)

Utilizado para arquivos estáticos que não mudam e, por convenção, reservado para páginas de erro customizadas (ex: 404.html, 500.html).

IMPORTANT

Convenção é Poder: Ao respeitar esses diretórios, você usufrui do cache automático do Spring e do suporte nativo a compressão GZIP, elevando a performance da sua aplicação para o nível de Elite.

No próximo capítulo, veremos como o Controller faz o papel de ponte entre esses arquivos e nossos dados.


⬅️ Capítulo Anterior | Próximo Capítulo ➡️