06‐Exploring Spring Boot Project Files - JulianeMaran32/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
groupId
eartifactId
. -
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.