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:

Default Password Encoder in Spring Security 5
Java – Try with Resources
Java Web Services – Jersey JAX-RS – REST và sử dụng REST API testing tools với Postman
Converting Iterator to List
Java Program to Represent Graph Using 2D Arrays
Hướng dẫn Java Design Pattern – Composite
Lớp lồng nhau trong java (Java inner class)
Guide to Java 8 groupingBy Collector
Java Program to Generate Random Hexadecimal Byte
Java Program to Optimize Wire Length in Electrical Circuit
Java Program to Implement Knight’s Tour Problem
Java Program to Implement Borwein Algorithm
Java Program to Perform Cryptography Using Transposition Technique
Java Program to implement Circular Buffer
Java Program to Check whether Undirected Graph is Connected using BFS
Java Program to Implement CopyOnWriteArraySet API
Collect a Java Stream to an Immutable Collection
Write/Read cookies using HTTP and Read a file from the internet
Java Program to Implement Graham Scan Algorithm to Find the Convex Hull
DistinctBy in the Java Stream API
Java Program to implement Dynamic Array
Spring Boot - Twilio
Biểu thức Lambda trong Java 8 – Lambda Expressions
Custom Cascading in Spring Data MongoDB
Toán tử instanceof trong java
Java Program to Print the Kind of Rotation the AVL Tree is Undergoing
Spring Boot - Apache Kafka
Java 8 Stream API Analogies in Kotlin
Lập trình đa luồng với CompletableFuture trong Java 8
Chuyển đổi từ HashMap sang ArrayList
Hướng dẫn Java Design Pattern – Bridge
Hamcrest Collections Cookbook