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 Baeldung’s official logo:
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.