Using Custom Banners in Spring Boot

1. Overview

By default, Spring Boot comes with a banner which shows up as soon as the application starts.

In this article, we’ll learn how to create a custom banner and use it in Spring Boot applications.

2. Creating a Banner

Before we start, we need to create the custom banner which will be displayed at the time of application start-up time. We can create the custom banner from scratch or use various tools that will do this for us.

In this example we used VietMX’s official logo:

 __  __       ___   __             __      ___      _     _____                
|  \/  |     (_) \ / /             \ \    / (_)    | |   / ____|               
| \  / | __ _ _ \ V /_   _  __ _ _ _\ \  / / _  ___| |_ | |     ___  _ __ ___  
| |\/| |/ _` | | > <| | | |/ _` | '_ \ \/ / | |/ _ \ __|| |    / _ \| '_ ` _ \ 
| |  | | (_| | |/ . \ |_| | (_| | | | \  /  | |  __/ |_ | |___| (_) | | | | | |
|_|  |_|\__,_|_/_/ \_\__,_|\__,_|_| |_|\/   |_|\___|\__(_)_____\___/|_| |_| |_|
                                                                               
 _____   _      ______      ________  __      _______ ______ _______ __  ____   __
|_   _| | |    / __ \ \    / /  ____| \ \    / /_   _|  ____|__   __|  \/  \ \ / /
  | |   | |   | |  | \ \  / /| |__     \ \  / /  | | | |__     | |  | \  / |\ V / 
  | |   | |   | |  | |\ \/ / |  __|     \ \/ /   | | |  __|    | |  | |\/| | > <  
 _| |_  | |___| |__| | \  /  | |____     \  /   _| |_| |____   | |  | |  | |/ . \ 
|_____| |______\____/   \/   |______|     \/   |_____|______|  |_|  |_|  |_/_/ \_\
                                                                                  

However, in some situation, we might like to use the banner in the plain text format since it’s relatively easier to maintain.

The plain-text custom banner which we used in this example is available here.

Point to note here is that ANSI charset has the ability to display colorful text in the console. This can’t be done with the simple plain text format.

3. Using the Custom Banner

Since we have the custom banner ready, we need to create a file named banner.txt in the src/main/resources directory and paste the banner content into it.

Point to note here is that banner.txt is the default expected banner file name, which Spring Boot uses. However, if we want to choose any other location or another name for the banner, we need to set the spring.banner.location property in the application.properties file:

spring.banner.location=classpath:/path/to/banner/bannername.txt

We can also use images as banners too. Same as with banner.txt, Spring Boot expects the banner image’s name as banner.gif. Additionally, we can set different image properties such as height, width, etc. in the application.properties:

spring.banner.image.location=classpath:banner.gif
spring.banner.image.width=  //TODO
spring.banner.image.height= //TODO
spring.banner.image.margin= //TODO
spring.banner.image.invert= //TODO

However, it’s always better to use text format because the application start up time will drastically increase if some complex image structure is used.

4. Conclusion

In this quick article, we showed how to use a custom banner in Spring Boot applications.

Like always, the full source code is available over on GitHub.

Related posts:

Java Program to Find MST (Minimum Spanning Tree) using Prim’s Algorithm
Creating Docker Images with Spring Boot
Guide to ThreadLocalRandom in Java
Composition, Aggregation, and Association in Java
Spring Boot - File Handling
The Dining Philosophers Problem in Java
Static Content in Spring WebFlux
Servlet 3 Async Support with Spring MVC and Spring Security
Hướng dẫn Java Design Pattern – Adapter
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Phương thức tham chiếu trong Java 8 – Method References
Removing Elements from Java Collections
Java Program to Implement Hash Tables with Quadratic Probing
Java Program to Check whether Undirected Graph is Connected using BFS
Giới thiệu Aspect Oriented Programming (AOP)
Spring Boot - Creating Docker Image
Service Registration with Eureka
Java Program to Check whether Undirected Graph is Connected using DFS
Spring Boot - Tracing Micro Service Logs
Dynamic Proxies in Java
Vòng lặp for, while, do-while trong Java
Using Spring @ResponseStatus to Set HTTP Status Code
Java Program to Solve Travelling Salesman Problem for Unweighted Graph
Java Program to Create a Random Linear Extension for a DAG
A Guide to Spring Boot Admin
Java Program for Douglas-Peucker Algorithm Implementation
Spring @RequestParam Annotation
Java Program to Check if any Graph is Possible to be Constructed for a Given Degree Sequence
Lập trình đa luồng trong Java (Java Multi-threading)
Java Program to Implement Shell Sort
Java Program to Implement the MD5 Algorithm
Custom HTTP Header with the HttpClient