06‐Exploring Spring Boot Project Files - JuhMaran/Java-with-Spring-Boot GitHub Wiki
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, comoapplication.properties. -
src/test/java: Onde ficam os testes unitários.
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 pom.xml é o coração do projeto Maven. Ele contém:
-
Informações do projeto: Como
groupIdeartifactId. -
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.
-
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;O Spring Boot carrega automaticamente arquivos estáticos (HTML, CSS, JS, imagens, PDFs) da pasta src/main/resources/static.
src/main/webapp se sua aplicação for empacotada como JAR, pois esse diretório só é válido para aplicações WAR.
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.
Spring Boot gera um arquivo de teste básico em src/test/java/NomeDaAplicacaoTests.java. Podemos adicionar testes unitários personalizados nele.