Este material é destinado ao estudo do Spring Boot, e esta aplicação é um exemplo de utilização.
O Spring Boot é um framework que facilita a criação de aplicações baseadas em Spring Framework. Você pode utilizar Java, Kotlin ou Groovy, e usar o gestor de dependências Maven ou Gladle.
O projeto foi iniciado utilizando o website start.spring.io
Este projeto exemplo usa o Maven.
O Grupo é o domínio, por exemplo, br.com.shdo
-
Spring Boot DevTools: Fornece reinício rápido da aplicação, rápido reload, e configurações para experiência de dese aprimorada.
-
Spring Web: Construa aplicações web, incluindo RESTful e aplicações usando Spring MVC. Usa o Apache Tomcat como um container embutido.
-
Lombok: Biblioteca para geração de código boilerplate
my-project/
├── .gitignore
├── mvnw
├── mvnw.cmd
├── pom.xml
├── README.md
└── src/
├── main/
│ ├── java/
│ │ └── com/
│ │ └── example/
│ │ └── Application.java
│ └── resources/
│ ├── application.properties
│ ├── application.yml
│ ├── static/
│ └── templates/
└── test/
└── java/
└── com/
└── example/
└── ApplicationTests.java
-
.gitignore
Arquivo que informa ao Git quais arquivos/pastas devem ser ignorados no versionamento (comotarget/
,.idea/
, entre outros). -
mvnw
/mvnw.cmd
Scripts do Maven Wrapper que permitem executar o Maven sem instalá-lo globalmente.mvnw
para Unix/Linux/macOSmvnw.cmd
para Windows
-
pom.xml
Arquivo de configuração do Maven. Define dependências, plugins e propriedades do projeto.
Se estiver usando Gradle, serábuild.gradle
. -
README.md
Arquivo de documentação opcional para informações sobre o projeto.
com/example/Application.java
Classe principal da aplicação. Contém o métodomain
e é anotada com@SpringBootApplication
, responsável por iniciar a aplicação.
-
application.properties
ouapplication.yml
Arquivos de configuração do Spring Boot.
Ex: porta do servidor, configurações de banco de dados, perfis, etc:spring.application.name=first-spring-app server.port=3000 spring.datasource.url=${DB_HOST:jdbc:mysql://localhost:3306/springapp} spring.datasource.username=root spring.datasource.password=123456
-
📂
static/
Pasta para arquivos estáticos (ex: HTML, CSS, JS, imagens). O Spring Boot serve esses arquivos automaticamente via HTTP. -
📂
templates/
Diretório para templates de visualização (views) como Thymeleaf, FreeMarker, etc.
Usado para gerar páginas HTML dinâmicas.
com/example/ApplicationTests.java
Classe de teste unitário padrão.
Usa JUnit e Spring Test para verificar se o contexto da aplicação carrega corretamente.
O Spring trabalha por meio de anotações, a classe principal da aplicação é notada com @SpringBootAplication que compreende 3 anotações do Spring Framework:
@Configuration
- Métodos que definem beans
@EnableAutoConfiguration
- Ativa a auto configuração do Spring
@ComponentScan
- Permite que o Spring scaneie o projeto e gerencie a injeção de dependências das classes e o ciclo de vida de cada uma delas
@RestController
, é um conjunto de @Controller
e @ResponseBody
o controler é para a regra de negócio, e o responseBody
Continua...