08‐Spring Boot DevTools - JuhMaran/Java-with-Spring-Boot GitHub Wiki
Problema: Ao desenvolver uma aplicação Spring Boot, sempre que você altera o código-fonte, precisa reiniciar manualmente a aplicação para ver as mudanças. Isso torna o processo de desenvolvimento mais lento e cansativo.
Solução: O Spring Boot DevTools facilita isso, reiniciando automaticamente a aplicação sempre que detecta mudanças no código.
-
Adicione a dependência do DevTools ao arquivo
pom.xml(caso esteja usando Maven):<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>
-
Se estiver usando o IntelliJ IDEA Community Edition, será necessário configurar algumas opções:
- Vá para Preferências → Build, Execution, Deployment → Compiler e marque a opção Build project automatically.
- Depois, em Preferences → Advanced Settings, marque a opção Allow auto-make to start even if developed application is running.
-
Agora, quando você fizer qualquer alteração no código, a aplicação será reiniciada automaticamente, sem precisar fazer isso manualmente.
-
Organizando o projeto:
- Crie uma nova pasta chamada
01-spring-boot-overviewpara armazenar os projetos. - Dentro dela, mova a aplicação existente (
mycoolapp) e renomeie para01-spring-boot-demo. - Faça uma cópia dessa pasta e renomeie para
02-dev-tools-demo.
- Crie uma nova pasta chamada
-
Abrindo o projeto no IntelliJ IDEA:
- Feche qualquer projeto aberto.
- No IntelliJ, abra a pasta
02-dev-tools-demo. - O IntelliJ sincronizará as dependências do Maven automaticamente.
-
Configurando as preferências do IntelliJ:
- Vá para Build, Execution, Deployment → Compiler e ative a opção Build project automatically.
- Vá para Advanced Settings e ative a opção Allow auto-make to start even if developed application is running.
-
Testando o DevTools:
- No arquivo
pom.xml, certifique-se de que a dependência do DevTools foi adicionada. - Execute a aplicação (
MycoolApplication.java). - O servidor Tomcat iniciará na porta
8080.
- No arquivo
-
Criando um novo endpoint:
- No controlador REST, adicione o seguinte código para criar um novo endpoint:
@GetMapping("/workout")
public String getDailyWorkout() {
return "Corra 5km!";
}- Salve o arquivo e observe o console do IntelliJ. O Spring Boot reiniciará automaticamente a aplicação.
- Acesse
http://localhost:8080/workoutno navegador e veja a resposta.
-
Adicionando mais um endpoint para testar:
- Adicione este novo método ao controlador REST:
@GetMapping("/fortune")
public String getDailyFortune() {
return "Hoje é o seu dia de sorte!";
}- Salve o arquivo e veja se a aplicação recarrega automaticamente.
- Acesse
http://localhost:8080/fortunepara testar o novo endpoint.
O Spring Boot DevTools é uma ferramenta essencial para melhorar a produtividade no desenvolvimento de aplicações Spring Boot. Com ele, as mudanças no código são aplicadas automaticamente sem precisar reiniciar a aplicação manualmente. Essa funcionalidade economiza tempo e torna o processo de desenvolvimento muito mais eficiente. 🚀