06‐Exploring Spring Boot Project Files - JulianeMaran32/Java-with-Spring-Boot GitHub Wiki

12. Estrutura do Projeto Spring Boot

Quando criamos um projeto Spring Boot pelo Spring Initializr, ele gera automaticamente uma estrutura baseada no Maven. Vamos entender os principais diretórios e arquivos criados:

  • src/main/java: Aqui fica o código-fonte principal da aplicação.
  • src/main/resources: Contém arquivos de configuração, como application.properties.
  • src/test/java: Onde ficam os testes unitários.

O que são os arquivos mvnw e mvnw.cmd?

O Maven Wrapper (mvnw) permite rodar comandos Maven sem precisar instalar o Maven manualmente. Se ele não encontrar a versão correta do Maven no seu computador, ele faz o download automaticamente.

  • mvnw.cmd: Para usuários do Windows.
  • mvnw.sh: Para usuários de Linux ou Mac.

Se você já tem o Maven instalado, pode ignorar esses arquivos e rodar os comandos normalmente, como mvn clean package.

O Arquivo pom.xml

O pom.xml é o coração do projeto Maven. Ele contém:

  • Informações do projeto: Como groupId e artifactId.
  • Dependências: O Spring Boot usa "starters", que são pacotes pré-configurados. Exemplo:
    • spring-boot-starter-web: Inclui suporte a aplicações web e APIs REST.
  • Plugins do Maven: Como o spring-boot-maven-plugin, que permite empacotar e executar a aplicação com:
    • mvn package → Cria o arquivo JAR.
    • mvn spring-boot:run → Executa a aplicação.

13. Configurações com application.properties

O arquivo application.properties (ou application.yml) armazena configurações da aplicação. Ele é carregado automaticamente e fica dentro de src/main/resources.

Exemplo de configuração da porta do servidor:

server.port=8585

Isso faz com que a aplicação rode na porta 8585, em vez da padrão 8080.

Também podemos adicionar configurações personalizadas:

coach.name=Mickey Mouse
team.name=The Mouse Crew

Esses valores podem ser acessados no código com @Value:

    @Value("${coach.name}")
    private String coachName;

    @Value("${team.name}")
    private String teamName;

Recursos Estáticos

O Spring Boot carrega automaticamente arquivos estáticos (HTML, CSS, JS, imagens, PDFs) da pasta src/main/resources/static.

⚠️ Atenção: Não use src/main/webapp se sua aplicação for empacotada como JAR, pois esse diretório só é válido para aplicações WAR.

Templates

Spring Boot tem suporte a diversos motores de template, como:

  • Thymeleaf (usado neste curso)
  • FreeMarker
  • Mustache

Por padrão, os templates ficam em src/main/resources/templates.

Testes

Spring Boot gera um arquivo de teste básico em src/test/java/NomeDaAplicacaoTests.java. Podemos adicionar testes unitários personalizados nele.

⚠️ **GitHub.com Fallback** ⚠️