Como Personalizar a Mensagem de Inicialização no Spring Boot

Personalizar a mensagem de inicialização do Spring Boot é uma maneira eficaz de incluir detalhes sobre a aplicação, como seu nome e versão, além de tornar a inicialização mais agradável visualmente. Neste tutorial, vamos configurar o banner.txt para exibir uma arte ASCII e informações personalizadas.

1. Criando o Arquivo banner.txt

O Spring Boot permite que você adicione um banner ASCII na inicialização usando um arquivo chamado banner.txt. Esse arquivo deve ser colocado na pasta src/main/resources do seu projeto.

  1. Crie o Arquivo: No diretório src/main/resources, crie o arquivo banner.txt.
  2. Arte ASCII: Insira a arte ASCII de sua preferência. Você pode utilizar sites como https://patorjk.com/software/taag/ para gerar textos ASCII personalizados.

Exemplo de conteúdo do banner.txt:

 .----------------. .----------------. .----------------. .----------------.   .----------------.   .----------------. .----------------. .----------------.
| .--------------. | .--------------. | .--------------. | .--------------. | | .--------------. | | .--------------. | .--------------. | .--------------. |
| | ____ ____ | | | _____ _____ | | | _______ | | | _______ | | | | | | | | __ | | | ______ | | | _____ | |
| | |_ || _| | | ||_ _||_ _|| | | |_ __ \ | | | |_ __ \ | | | | | | | | / \ | | | |_ __ \ | | | |_ _| | |
| | | |__| | | | | | | | | | | | | |__) | | | | | |__) | | | | | ______ | | | | / /\ \ | | | | |__) | | | | | | | |
| | | __ | | | | | ' ' | | | | | __ / | | | | __ / | | | | |______| | | | | / ____ \ | | | | ___/ | | | | | | |
| | _| | | |_ | | | \ `--' / | | | _| | \ \_ | | | _| | \ \_ | | | | | | | | _/ / \ \_ | | | _| |_ | | | _| |_ | |
| | |____||____| | | | `.__.' | | | |____| |___| | | | |____| |___| | | | | | | | ||____| |____|| | | |_____| | | | |_____| | |
| | | | | | | | | | | | | | | | | | | | | | | | | | |
| '--------------' | '--------------' | '--------------' | '--------------' | | '--------------' | | '--------------' | '--------------' | '--------------' |
'----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------'
${application.title} - Versão: ${application.version}
Powered by Spring Boot ${spring-boot.version}

Neste exemplo, usamos variáveis como ${application.title}, ${application.version}, e ${spring-boot.version}, que o Spring Boot preencherá automaticamente.

2. Configurando Variáveis Dinâmicas

As variáveis dinâmicas no banner.txt são preenchidas pelo Spring Boot com informações obtidas do arquivo application.properties ou application.yml. Para configurar o título e a versão da aplicação:

  1. Abra o application.properties ou application.yml.
  2. Defina as Propriedades para o título e versão da aplicação: application.title=Minha Aplicação application.version=1.0.0 Em application.yml: application: title: Minha Aplicação version: 1.0.0

Essas propriedades serão usadas para preencher ${application.title} e ${application.version} no banner.txt.

3. Personalizando Outras Configurações de Inicialização (Opcional)

Além do banner, o Spring Boot permite personalizar várias outras configurações de inicialização:

  • Banner em Arquivos Externos: Você também pode colocar o banner.txt fora do projeto e especificar seu caminho em application.properties: spring.banner.location=/caminho/para/banner.txt
  • Desativando o Banner: Se você quiser desativar o banner ASCII, basta definir: spring.main.banner-mode=off

4. Exibindo Informações Dinâmicas Adicionais

Você pode adicionar outras informações dinâmicas no banner.txt, como a versão do Java ou dados do sistema, que o Spring Boot preenche automaticamente:

  • ${java.version}: Exibe a versão do Java em execução.
  • ${os.name}: Exibe o sistema operacional.

5. Testando o Banner Personalizado

Para verificar se a personalização do banner está funcionando corretamente:

  1. Compile e Execute a Aplicação com o comando Maven ou Gradle usual, por exemplo:mvn spring-boot:run
  2. Verifique a saída do console, onde deverá aparecer o banner personalizado com as variáveis preenchidas conforme configurado.

Exemplo Completo de application.properties

Aqui está um exemplo completo de application.properties com as propriedades necessárias para exibir um banner personalizado e algumas configurações adicionais:

application.title=Minha Aplicação
application.version=1.0.0
spring.main.banner-mode=console

Conclusão

Personalizar o banner de inicialização do Spring Boot é uma ótima maneira de dar um toque especial à sua aplicação e adicionar informações importantes no console ao iniciar o sistema. Ao combinar uma arte ASCII com variáveis dinâmicas, você torna a inicialização mais informativa e atraente.