Spring Boot é»è®¤å¯»æ¾ Banner ç顺åºæ¯:
ä¾æ¬¡å¨ Classpath ä¸æ¾ æ件 banner.gif , banner.jpg , å banner.png , å
æ¾å°è°å°±ç¨è°
ç»§ç» Classpath ä¸æ¾ banner.txt
ä¸é¢é½æ²¡ææ¾å°çè¯, ç¨é»è®¤ç SpringBootBanner , å°±æ¯æ们æ常è§å°çé£ä¸ª
æ¢ç¶æ¯ Classpath çèµæº, æ们æç
§ Maven 项ç®çæ¯ä¾, æ¯æ banner.* æ件æ¾å¨ src/main/resources/ ç®å½ä¸.
æ们å¯ä»¥ç¨å±æ§ banner.location è®¾å® Spring Boot å¨ä¸åäº Classpath ä¸æ¾ä»¥ä¸ banner.txt æ件. banner.charset è®¾å® banner.txt çå符é, é»è®¤ä¸º UTF-8 . å±æ§. banner.image.location ç¨äºæå®å¯»æ¾ banner.(gif|jpg|png) æ件çä½ç½®.
å¦æåæ¶åå¨å¾ç(å¦ banner.jpg) å banner.txt , åå®ä»¬ä¼åæ¶æ¾ç¤ºåºæ¥, å
å¾çåæå. ä½åæ¶åå¨å¤ä¸ªå¾ç banner.(gif|jpg|png) , ååªä¼æ¾ç¤ºç¬¬ä¸å¼ å¾ç.
ä¸é¢ä¾æ¬¡ä»ç» å¾ç Banner, æå Banner, å代ç å®å¶æ³, å
¶ä¸ æå Banner åªé¡»å¨ src/main/resources å ä¸ banner.txt åºè¯¥æ¯æç®åå®ç¨ç, å
¶æ¬¡å°±æ¯ç¨ç®æ´ç banner å¾ç .
å¾ç Banner
æ们æ许æçé®äº, 对äºå¾çæ件 banner.(gif|jpg|png) æ件, Spring Boot 该å¦ä½å¨æ§å¶å°æ¾ç¤º. ç±äºæ们çæ§å¶å°åªç®¡æ¾ç¤ºå符, æ以 Spring Boot ä¼å°½åæè¿ä¸ç§å¾çæ件转æ¢æå符表示, è¿å¸¦æ AnsiColor é¢è²ç.
æ³è¦ç¥é Spring Boot ç ImageBanner 对å¾ççç解ç¨åºå°åºæå¤å¼º, å¯ä»¥è¯ä¸æè¿å¼ å¾çæ¾å° src/main/resources/ ä¸,
ç¶åéæ°å¯å¨ä¸ä¸æ们ç Spring Boot ç¨åº, å¯ä»¥çå°å¦ä¸ææ
æå¾ç转æ¢æ带è²çå符æ¾ç¤ºå·²ç»å¾ä¸éçäº, å½ç¶ä½ ä¸è½å¤ªé¾ä¸º Spring Boot äº, å¾çè²å½©ç¨å¤æè¯å®æ¯ä¸å¢ç³. å¾çå°æåç转æ¢çå®é
ææå¯ä»¥å°è¯ Spring Boot å®æ¹ç Banner Generator .
æå Banner
å¦æä½¿ç¨ banner.txt å®ä¹ Banner çè¯, éé¢å¯ä»¥ä½¿ç¨å¦ä¸åé
${application.version} , ${application.formatted-version} , ${spring-boot.version} , ${Ansi.NAME} æ ${AnsiColor .NAME} , ${AnsiBackground.NAME} , ${AnsiStyle.NAME} , ${application.title} , è¿äºå
·ä½å®ä¹è¯·åè Spring Boot çå®æ¹ææ¡£ Customizing the Banner .
è¿é说ä¸ä¸ AnsiColor , AnsiStyle , å AnsiBackground çç¨æ³, å®ä»¬æ¯åç§ Ansi æ§å¶ç¬¦ , è§ Wiki ANSI escape code . å¯åå¼è¯·åèåèªç¸åºçç±», org.springframework.boot.ansi.(AnsiColor|AnsiStyle|AnsiStyle) . åå«ç¨äºå®ä¹å符å¨æ§å¶å°ä¸æ¾ç¤ºçé¢è², é£æ ¼ä¸èæ¯è².
è¿éæä¸ä¸ª banner.txt , å
容æ¯
${AnsiColor.RED}${AnsiStyle.ITALIC}I'm Red and italic ${AnsiStyle.NORMAL}${AnsiColor.DEFAULT}
${AnsiColor.BLUE}${AnsiBackground.YELLOW}I'm Blue with yellow background${AnsiBackground.DEFAULT}${AnsiColor.DEFAULT}
${AnsiColor.GREEN}Powered by ${spring-boot.formatted-version}${AnsiColor.DEFAULT}
æ§è¡ Spring Boot åºç¨åè¾åºå¯¹åºç Banner å¦ä¸å¾
å¦å¤, å¦ææ们ä¸æ»¡è¶³äºå®ä¹å¨ banner.txt ä¸çæååæ¬å¹³å®çæ¾ç¤ºåºæ¥, ä¹å¯ä»¥åé»è®¤ç
Spring Boot ç Banner é£æ ·, æå符串转æ¢ä¸ºç¹æ®å符ç»æçèºæ¯åä½, è¿è¿æä¸ä¸ªä¸ç¨åè¯ TAAG(Text to
ASCII Art Generator). æ许å¤å¨çº¿ç½ç«è½å¸®ä½ 转æ¢, åªè¦ Google æç´¢ text to ascii art generator . 举å 个ä¾å:
http://patorjk.com/software/taag/#p=display&f=Jacky&t=unmi.cchttp://www.desmoulins.fr/index_us.php?pg=scripts!online!asciiart
http://asciiset.com/figletserver.htmlhttp://www.askapache.com/online-tools/figlet-ascii/h ttp://picascii.com/ å¾ç转æ¢ä¸º ASCII
æå欢çæå转æ¢ä¸ä¸, è´´å° banner.txt ä¸å³å¯, é«å
´çè¯åç¨ ${AnsiColor.NAME} çåå 润è².
å
¶ä» Banner å®å¶
æè
å¯ä»¥å®å
¨å®å¶ Banner, éè¿ä»£ç
SpringApplication bootstrap = new SpringApplication(SampleController.class);
bootstrap.setBanner(new Banner() {
@Override
public void printBanner(Environment environment, Class<?> aClass, PrintStream printStream) {
//å¾ printStream ä¸è¾åºå§, å¯ä» environment ä¸åå±æ§é
ç½®
}
});
// bootstrap.setBannerMode(Banner.Mode.LOG);
bootstrap.run(args);
Banner.Mode æä¸ä¸ªå¼ CONSOLE, LOG, OFF, é»è®¤ä¸º CONSOLE, å¯ä»¥ç¨ OFF å
³é Banner æ¾ç¤º, ææ¯ LOG 让 Banner å¨åºç¨ log ä¸æ¾ç¤º. å¯æ¯æç¨å±æ§ spring.main.banner-mode=off æ¥æ§å¶.
å 为åé¢ä¸¤ç§å¾çåæå Banner å·²ç»é常强大äº, æ以æ¬äººè§å¾å®å
¨ç¨ setBanner(banner) æ¥å®å¶æ²¡å¤å¤§å¿
è¦, è³å¤å¨ä¸æ³è¦ä»»ä½ Banner çæ¶åå¯ä»¥ç¨ spring.main.banner-mode=off è¿è¡å
³é.
æä½¿ç¨ Fluent builder API
new SpringApplicationBuilder(Xxx.class)
.bannerMode(Banner.Mode.OFF)
.run(args);