English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SpringBoot DevTools

Spring Boot DevTools

Spring Boot 1.3Fornecemos outro módulo chamado Spring Boot DevTools. DevTools representa Ferramenta de Desenvolvedor O objetivo deste módulo é tentar e reduzir o tempo de desenvolvimento ao usar aplicativos Spring Boot. O Spring Boot DevTools aceita alterações e reinicia o aplicativo.

Podemos implementar o DevTools em nosso projeto adicionando as seguintes dependências no arquivo pom.xml.

<dependency>
<groupId>org.springframework.boot</groupId>/groupId>
<groupId>-boot-<artifactId>spring</artifactId>/<artifactId>devtools</artifactId>
<scope>runtime</scope>
</dependency>

Funcionalidades do Spring Boot DevTools

Spring Boot DevTools oferece as seguintes funcionalidades:

Valores padrão das propriedades Reinicialização automática LiveReload Túnel de depuração remoto Atualização remota e reinicialização

Valores padrão das propriedades: : Spring Boot oferece técnicas de modelo Thymeleaf que contém as propriedades spring.thymeleaf.cache.Cache e nos permite atualizar a página sem reiniciar o aplicativo. No entanto, configurar essas propriedades sempre traz alguns problemas durante o desenvolvimento.

Quando usamos spring-boot-ao carregar o módulo devtools, não é necessário definir propriedades. Durante o desenvolvimento do cache de modelos Thymeleaf, Freemarker, Groovy, ele será desativado automaticamente.

atualização automática. Se não queremos aplicar valores padrão de propriedades ao aplicativo, podemos definir configprop: spring.devtools.add no arquivo application.properties.-properties [] definido como false.

Reinicialização automática: Reinicialização automática significa recarregar classes Java e configurá-las no lado do servidor. Após as mudanças no lado do servidor, ele será implantado dinamicamente, o servidor será reinicializado e o código modificado será carregado. Ele é主要用于 aplicativos baseados em microservices. Spring Boot usa Doisdo tipo carregador de classes:

As classes inalteráveis (dois terços) foram carregadas nocarregador de classes básico. As classes que estamos desenvolvendo ativamente já foram carregadas noCarregador de classes da reinicialização.

Ao reiniciar a aplicação, o carregador de classes da reinicialização é descartado e preenchido com uma nova classe. Portanto, o carregador de classes básico está sempre disponível e preenchido.

Podemos usar a propriedade spring.devtools.restart.enabled Definido como para desativar a reinicialização automática do servidor. Erro.

Lembre-se:

DevTools monitora sempre os recursos do caminho da classe. A única maneira de acionar a reinicialização é atualizar a classe do caminho. DevTools requer um carregador de classes da aplicação separado para funcionar corretamente. Pela padrão, Maven derivado processo da aplicação. Reinicialização automática com LiveReload funciona bem em conjunto. DevTools depende de ganchos de encerramento do contexto da aplicação para desligá-lo durante a reinicialização.

LiveReload: Spring Boot DevTools模块包括一个名为 O módulo Spring Boot DevTools inclui um chamadoservidor embutido do LiveReload. se alterarmos dentro dele, o aplicativo pode atualizar automaticamente o navegador. Recursos. Isso também é conhecido como

atualização automática. notas: desativar o LiveReload, defina a propriedadePara false.

ele oferece extensões para navegadores Chrome, Firefox e Safari. Por padrão, o LiveReload está ativado. O LiveReload funciona nos seguintes caminhos:

/META-INF/maven /META-INF/resources /recursos /estáticos /public /templates

Também podemos desativar a recarga automática do navegador excludendo essas rotas. Por exemplo:

spring.devtools.restart.exclude=public/**, static/**, templates/**

Podemos usar a propriedade spring.devtools.restart.additional-paths para ver outras rotas adicionais.por exemplo:

spring.devtools.restart.additional-paths=/caminho-para-pasta

Se quisermos excluir outras rotas e manter o caminho padrão, use a propriedade spring.devtools.restart.additional-exclude。por exemplo:

spring.devtools.restart.additional-exclude=styles/**

Lembre-se

Podemos executar um servidor LiveReload por vez. Antes de iniciar o aplicativo, certifique-se de que nenhum outro servidor LiveReload esteja em execução. se iniciarmos múltiplos aplicativos a partir do IDE, ele suporta apenas o primeiro LiveReload.

túnel de depuração remoto: Spring Boot pode túnelar JDWP (Java Debug Wire Protocol) diretamente para o aplicativo via HTTP. Ele até pode deployar o aplicativo em portas públicas apenas expostas.80 e443provedores de nuvem da Internet Cloud.

atualização remota e reinício: Outra dica fornecida pelo DevTools é: ele suporta aplicativos remotos atualizaçãoe reiniciar.ele monitora as mudanças nos arquivos da classpath local e as envia para o servidor remoto, em seguida, reinicia. Também podemos combinar essa função com o LiveReload.

usar arquivo de trigger

Devido à frequente reinicialização, o reinício automático às vezes pode atrasar o tempo de desenvolvimento. Para resolver esse problema, podemos usar um arquivo de trigger.SpringBoot monitora o arquivo de trigger e detecta as alterações nele. Ele reinicia o servidor e recarrega todas as alterações anteriores.

Podemos adicionar propriedades spring.devtools.restart.trigger-file realiza o trigger de arquivo em nosso aplicativo.É interno ou externo. Por exemplo:

spring.devtools.restart.trigger-file=c:/workspace-sts-3.9.9.RELEASE/restart-trigger.txt

Exemplo de Spring Boot DevTools

Passos1: Usar Spring Initializr https://start.spring.io/.

Passos2: Fornece GrupoNome e Artifato ID. Fornecemos o nome do grupo com.w3ID do Artifato e spring-boot-devtools-example.

Passos3: Adicione as seguintes dependências: spring-boot-starter-web e spring-boot-devtools .

Passos4: Clique GerarBotão. Ele baixará o projeto Jar Arquivo.

Passos5: Extrair o arquivo Jar.

Passos6: Importe a pasta para o STS.

Arquivo-Importar-Projeto Maven Existente-Navegar-Selecione a pasta spring-boot-devtools-example-Concluído

Depois de importado com sucesso, podemos ver os seguintes diretórios na parte Package Explorer do STS.

Passos7: Abrir SpringBootDevtoolsExampleApplication.java E execute-o como um aplicativo Java.

Em seguida, faça qualquer alteração (edição ou exclusão de alguns arquivos ou código) no aplicativo, e depois salve as alterações feitas. Após o salvamento das alterações, o servidor será reiniciado e obterá as alterações.