Spring Boot - Met behulp van een opstartbanner in kleur

1. Inleiding

Een van de innemende kenmerken van Spring Boot is de opstartbanner. In de loop der jaren is Spring Boot geëvolueerd om verschillende soorten banners te ondersteunen. Er is bijvoorbeeld ondersteuning voor zowel tekst- als achtergrondkleur toegevoegd voor banners in Spring Boot 1.3.

In deze korte tutorial kijken we naar de ondersteuning voor kleurenbanners van Spring Boot en hoe je deze kunt gebruiken.

2. Achtergrondkleur wijzigen

Om een ‚Äč‚Äčachtergrondkleur toe te voegen aan een Spring Boot-banner, we hoeven alleen de regels van banner.txt met de gewenste kleurcode, met behulp van de AnsiBackground klasse.

Laten we bijvoorbeeld een banner.txt bestand om de hele achtergrond rood te maken:

$ {AnsiBackground.RED} ___ _ _ _ / __ | ___ | | (_) __ | | \ __ \ / _ \ | | | | / _` | | ___ / \ ___ / | _ | | _ | \ __, _ | $ {AnsiBackground.DEFAULT}

In feite, we kunnen zoveel achtergrondkleuren gebruiken als we willen in een enkele banner.

We kunnen bijvoorbeeld elke regel een eigen achtergrondkleur geven. We voegen eenvoudigweg de gewenste kleur toe aan elke regel:

$ {AnsiBackground.RED} ____ _ __ $ {AnsiBackground.BLUE} / __ \ ____ _ (_) ____ / / _ ____ _ __ $ {AnsiBackground.YELLOW} / / _ / / / __ `/ / / / __ \ / __ \ / __ \ | | / | / / $ {AnsiBackground.GREEN} / _, _ / / _ / / / / / / / / / / / _ / // / _ / / | | / | / / $ {AnsiBackground.MAGENTA} / _ / | _ | \ __, _ / / _ / / _ / / _ / /_.___/ \ ____ / | __ / | __ / $ {AnsiBackground.DEFAULT} 

Het is belangrijk om te onthouden dat al onze applicatielogging de laatste achtergrondkleur gebruikt die is opgegeven in banner.txt. Daarom is het een best practice om beëindig altijd de banner.txt bestand met de standaardkleur.

3. Tekstkleur wijzigen

Om de kleur van de tekst te veranderen, kunnen we de AnsiColor klasse. Net als de AnsiBackground klasse, het heeft vooraf gedefinieerde kleurconstanten waaruit we kunnen kiezen.

We voegen eenvoudigweg de gewenste kleur toe aan elke groep tekens:

$ {AnsiColor.RED} .------. $ {AnsiColor.BLACK} .------. $ {AnsiColor.RED} | A .--. | $ {AnsiColor.BLACK} | K .--. | $ {AnsiColor.RED} | (\ /) | $ {AnsiColor.BLACK} | (\ /) | $ {AnsiColor.RED} | : \ /: | $ {AnsiColor.BLACK} | : \ /: | $ {AnsiColor.RED} | '-' A | $ {AnsiColor.BLACK} | '-' K | $ {AnsiColor.RED} `------ '$ {AnsiColor.BLACK}` ------' $ {AnsiColor.DEFAULT}

Net als bij de achtergrondkleur, Het is belangrijk dat de laatste regel van de banner altijd de standaardkleur terugzet.

4. ANSI 8-bits kleur

Een van de nieuwe functies in Spring Boot 2.2 is ondersteuning voor ANSI 8-bits kleuren. In plaats van beperkt te zijn tot een handvol vooraf gedefinieerde kleuren, we kunnen zowel tekst- als achtergrondkleuren specificeren met behulp van het volledige bereik van 256 kleuren.

Om de nieuwe kleuren te gebruiken, hebben zowel de AnsiColor en AnsiBackground eigenschappen accepteren nu een numerieke waarde in plaats van een kleurnaam:

$ {AnsiColor.1} $ {AnsiBackground.233} ______ __________ .___ ___________ $ {AnsiBackground.235} / __ \ \ ______ \ | | \ __ ___ / $ {AnsiBackground.237}> <| | _ / | | | | $ {AnsiBackground.239} / - \ | | \ | | | | $ {AnsiBackground.241} \ ______ / | ______ / | ___ | | ____ | $ {AnsiBackground.243} \ / \ / $ {AnsiBackground.DEFAULT} $ {AnsiColor.DEFAULT}

Merk op dat we zowel tekst- als achtergrondeigenschappen kunnen combineren zoals we willen. We kunnen zelfs de nieuwe 8-bits kleurcodes en oudere kleurconstanten in dezelfde banner mengen.

5. Conclusie

In dit artikel hebben we gezien hoe u zowel de tekst- als de achtergrondkleuren van de Spring Boot-banner kunt wijzigen.

We hebben ook gezien hoe nieuwere versies van Spring Boot ANSI 8-bits kleurcodes ondersteunen.