Spring Boot - Utilizzo di un banner di avvio a colori

1. Introduzione

Una delle caratteristiche accattivanti di Spring Boot è il suo banner di avvio. Nel corso degli anni, Spring Boot si è evoluto per supportare vari tipi di banner. Ad esempio, in Spring Boot 1.3 è stato aggiunto il supporto sia del testo che del colore di sfondo per i banner.

In questo breve tutorial, esamineremo il supporto del banner a colori di Spring Boot e come usarlo.

2. Modifica del colore di sfondo

Per aggiungere un colore di sfondo a un banner Spring Boot, è sufficiente anteporre alle righe di banner.txt il codice colore desiderato, utilizzando la classe AnsiBackground .

Ad esempio, creiamo un file banner.txt per rendere rosso l'intero sfondo:

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

In effetti, possiamo usare tutti i colori di sfondo che vogliamo in un singolo banner .

Ad esempio, potremmo impostare ogni riga sul proprio colore di sfondo. Aggiungiamo semplicemente il prefisso a ciascuna riga con il colore desiderato:

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

È importante ricordare che tutti i log delle nostre applicazioni utilizzeranno l'ultimo colore di sfondo specificato in banner.txt . Pertanto, è consigliabile terminare sempre il file banner.txt con il colore predefinito .

3. Modifica del colore del testo

Per cambiare il colore del testo, possiamo usare la classe AnsiColor . Proprio come la classe AnsiBackground , ha costanti di colore predefinite tra cui scegliere.

Facciamo semplicemente anteporre ad ogni gruppo di caratteri il colore desiderato:

${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}

Come per il colore di sfondo, è importante che l'ultima riga del banner ripristini sempre il colore predefinito .

4. Colore ANSI a 8 bit

Una delle nuove funzionalità di Spring Boot 2.2 è il supporto per i colori ANSI a 8 bit. Invece di essere limitati a una manciata di colori predefiniti, possiamo specificare i colori del testo e dello sfondo utilizzando l'intera gamma di 256 colori .

Per utilizzare i nuovi colori, entrambe le proprietà AnsiColor e AnsiBackground ora accettano un valore numerico invece del nome di un colore:

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

Si noti che possiamo combinare le proprietà del testo e dello sfondo come vogliamo. Possiamo persino mescolare i nuovi codici colore a 8 bit e le costanti di colore precedenti nello stesso banner.

5. conclusione

In questo articolo abbiamo visto come modificare i colori del testo e dello sfondo del banner Spring Boot.

Abbiamo anche visto come le versioni più recenti di Spring Boot supportano i codici colore ANSI a 8 bit.