Na lição anterior, você criou ou preparou um projeto Spring Boot. Agora vamos entender como o projeto é organizado e criar sua primeira rota web. O objetivo é você começar a enxergar o Spring Boot como uma aplicação real, não apenas como um projeto gerado automaticamente.
O Spring Boot foi criado para facilitar aplicações Java “prontas para rodar”, com pouca configuração manual. Ele faz isso usando convenções, auto configuração e dependências chamadas starters. A própria documentação oficial recomenda usar starters, como o Spring Web, para adicionar funcionalidades comuns ao projeto.
1. Estrutura básica do projeto
Um projeto Spring Boot com Maven normalmente fica assim:
meu-projeto/
├── pom.xml
└── src/
├── main/
│ ├── java/
│ │ └── com/exemplo/demo/
│ │ └── DemoApplication.java
│ └── resources/
│ └── application.properties
└── test/
└── java/
Agora vamos entender cada parte.
pom.xml
O pom.xml é o arquivo de configuração do Maven.
Ele define:
<dependencies>
...
</dependencies>
Ou seja, ele informa quais bibliotecas o projeto usa.
Exemplo:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Essa dependência adiciona recursos para criar aplicações web, APIs REST, controllers, servidor embutido e integração com Spring MVC.
src/main/java
Aqui fica o código Java principal da aplicação.
Exemplo:
package com.exemplo.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
Essa classe é o ponto de entrada da aplicação.
Quando você executa esse main, o Spring Boot sobe a aplicação.
2. Entendendo @SpringBootApplication
A anotação mais importante nesse início é:
@SpringBootApplication
Ela indica que aquela classe é a classe principal da aplicação Spring Boot.
Na prática, ela ativa três ideias importantes:
- configuração automática;
- busca de componentes no projeto;
- configuração da aplicação Spring.
Você não precisa decorar tudo agora. Por enquanto, entenda assim:
@SpringBootApplicationliga o motor principal do Spring Boot.
A documentação oficial explica que o Spring Boot tenta fazer suposições razoáveis com base nas dependências e configurações encontradas, permitindo que você foque mais nas regras de negócio e menos na infraestrutura.
3. Criando seu primeiro Controller
Agora vamos criar uma rota web.
Crie uma nova classe no mesmo pacote da aplicação principal:
package com.exemplo.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class OlaController {
@GetMapping("/ola")
public String ola() {
return "Olá, Spring Boot!";
}
}
Agora rode a aplicação.
Depois acesse no navegador:
http://localhost:8080/ola
Você deve ver:
Olá, Spring Boot!
4. O que aconteceu aqui?
Vamos analisar:
@RestController
Essa anotação diz ao Spring:
“Esta classe recebe requisições HTTP e devolve respostas diretamente.”
Ou seja, ela transforma a classe em um controller REST.
@GetMapping("/ola")
Essa anotação diz:
“Quando alguém acessar
/olausando o método GET, execute este método.”
Então, quando você acessa:
http://localhost:8080/ola
O Spring Boot chama:
public String ola()
E devolve:
Olá, Spring Boot!
5. Explicando como se fosse uma empresa
Imagine que sua aplicação Spring Boot é uma empresa.
O navegador ou Postman faz um pedido:
Quero acessar /ola
O Spring Boot recebe esse pedido.
Ele procura alguém responsável por /ola.
Ele encontra o método:
ola()
Executa esse método.
Depois devolve a resposta:
Olá, Spring Boot!
Essa é a base de uma API REST.
6. Criando uma segunda rota
Agora adicione outro método no mesmo controller:
@GetMapping("/status")
public String status() {
return "Aplicação rodando com sucesso!";
}
A classe completa fica assim:
package com.exemplo.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class OlaController {
@GetMapping("/ola")
public String ola() {
return "Olá, Spring Boot!";
}
@GetMapping("/status")
public String status() {
return "Aplicação rodando com sucesso!";
}
}
Agora teste:
http://localhost:8080/status
Resultado esperado:
Aplicação rodando com sucesso!
7. O que você aprendeu nesta lição
Nesta lição você aprendeu:
- a estrutura básica de um projeto Spring Boot;
- o papel do
pom.xml; - o papel da classe principal com
@SpringBootApplication; - como criar um
@RestController; - como criar rotas com
@GetMapping; - como acessar uma rota pelo navegador.
Esse é o primeiro passo real para construir APIs com Spring Boot.
Exercício prático
Crie um controller chamado:
CursoController
Dentro dele, crie três rotas:
/curso/nome
/curso/professor
/curso/objetivo
Cada uma deve retornar uma frase.
Exemplo:
@GetMapping("/curso/nome")
public String nome() {
return "Curso de Spring Boot";
}





Deixe um comentário