我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SpringBoot中banner怎么使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SpringBoot中banner怎么使用

这篇文章主要介绍“SpringBoot中banner怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot中banner怎么使用”文章能帮助大家解决问题。

制作自己的banner

第一步:在class="lazy" data-src/main/resources下面创建banner.txt。

第二步:访问网站 http://patorjk.com/software/taag,在网站“Type Something ”处输入想要制作的单词(比如:Hello World),会生成对应的字符。也可以通过其他参数来调整字符的样式。

SpringBoot中banner怎么使用

复制生成的字符,粘贴到banner.txt,再次启动程序便可以打印出指定的banner了。

个人比较喜欢的banner是如下图形:

${AnsiColor.BRIGHT_YELLOW}//////////////////////////////////////////////////////////////////////             _ooOoo_                ////             o8888888o               ////             88" . "88               ////             (| ^_^ |)               ////             O\ = /O               ////           ____/`---'\____              ////          .' \\|   |// `.             ////          / \\||| : |||// \            ////         / _||||| -:- |||||- \            ////         |  | \\\ - /// |  |            ////         | \_| ''\---/'' |  |            ////         \ .-\__ `-` ___/-. /            ////        ___`. .' /--.--\ `. . ___           ////       ."" '< `.___\_<|>_/___.' >'"".         ////      | | : `- \`.;`\ _ /`;.`/ - ` : | |         ////      \ \ `-.  \_ __\ /__ _/  .-` / /         ////   ========`-.____`-.___\_____/___.-`____.-'========     ////              `=---='               ////   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^    ////      佛祖保佑    永不宕机   永无BUG         //////////////////////////////////////////////////////////////////////

在新版本的SpringBoot中,支持了gif、jpg和png的图片形式的banner打印。当然,并不会把图片直接打印在控制台,而是将其像素解析转换成assii编码之后打印。

对于gif动图,会把动图的每个图片都打印出来,如果动图比较大,打印时间较长。可以尝试一下,但建议不要使用gif。

在banner.txt中,还可以进行一些设置,比如上图中的${AnsiColor.BRIGHT_YELLOW}。

  • AnsiColor.BRIGHT_RED:设置控制台中输出内容的颜色

  • application.version:用来获取MANIFEST.MF文件中的版本号

  • application.formatted-version:格式化后的application.version版本信息

  • spring-boot.version:Spring Boot的版本号

  • spring-boot.formatted-version:格式化后的spring-boot.version版本信息

Banner接口

在未指定banner.txt或banner图片时,默认图形存储在哪里了呢?下面我们了解一下Banner接口。

@FunctionalInterfacepublic interface Banner {  // 打印banner  void printBanner(Environment environment, Class<?> sourceClass, PrintStream out);  enum Mode {    // 关闭    OFF,    // 控制台    CONSOLE,    // 日志文件    LOG  }}

在banner接口中提供了打印banner的方法和一个枚举类。枚举类有三个值:OFF、CONSOLE、LOG,用来控制banner的打印,分别对应:关闭打印、控制台打印和日志打印。

banner接口的实现主要有ResourceBanner、ImageBanner、SpringBootBanner和其他内部类的实现。其中上面看到的图形的打印就来自于SpringBootBanner。看一下源代码:

class SpringBootBanner implements Banner {  private static final String[] BANNER = { "",      " .  ____     _      __ _ _",      " /\\\\ / ___'_ __ _ _(_)_ __ __ _ \\ \\ \\ \\",      "( ( )\\___ | '_ | '_| | '_ \\/ _` | \\ \\ \\ \\",      " \\\\/ ___)| |_)| | | | | || (_| | ) ) ) )",      " ' |____| .__|_| |_|_| |_\\__, | / / / /",      " =========|_|==============|___/=/_/_/_/" };  private static final String SPRING_BOOT = " :: Spring Boot :: ";  private static final int STRAP_LINE_SIZE = 42;  @Override  public void printBanner(Environment environment, Class<?> sourceClass,      PrintStream printStream) {    for (String line : BANNER) {      printStream.println(line);    }    String version = SpringBootVersion.getVersion();    version = (version != null) ? " (v" + version + ")" : "";    StringBuilder padding = new StringBuilder();    while (padding.length() < STRAP_LINE_SIZE        - (version.length() + SPRING_BOOT.length())) {      padding.append(" ");    }    printStream.println(AnsiOutput.toString(AnsiColor.GREEN, SPRING_BOOT,        AnsiColor.DEFAULT, padding.toString(), AnsiStyle.FAINT, version));    printStream.println();  }}

在printBanner的方法实现中,首先打印了默认的Banner字符串数组,然后将SPRING_BOOT和版本信息进行拼接打印。

Banner的参数设置

banner的参数设定可以通过两种形式,一种是代码的形式,一种是配置文件的形式。

使用代码的形式首先要将默认的main方法进行改造,手动创建SpringApplication对象,然后设置相应的参数。示例代码:

public static void main(String[] args) {  SpringApplication app = new SpringApplication(SpringbootBannerApplication.class);  app.setBannerMode(Banner.Mode.CONSOLE);  Banner banner = new ImageBanner(new ClassPathResource("banner1.png"));  app.setBanner(banner);  app.run(args);}

通过配置文件设置就比较简单,直接在application.properties中进行配置,springboot已经帮我们预制好了相应的参数。

spring.banner.location=classpath:banner1.pngspring.banner.image.margin=2spring.banner.image.height=76spring.banner.charset=UTF-8spring.banner.image.invert=falsespring.banner.image.location=banner1.pngspring.main.banner-mode=consolespring.main.show-banner=true

其中spring.main.show-banner来控制是否打印banner,在新版本中不建议使用,可以使用spring.main.banner-mode代替,将其值设置为OFF即可关闭banner的打印。

引入文本banner通过spring.banner.location来指定,引入图片相关的banner需要通过spring.banner.image.location来指定路径,否则会出现乱码情况。

如果不想显示banner,可以在代码中通过setBannerMode(Banner.Mode.OFF)方法或通过参数配置spring.main.banner-mode=off来关闭banner的打印。上面示例中已经有所展示。

关于“SpringBoot中banner怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SpringBoot中banner怎么使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

SpringBoot中banner怎么使用

这篇文章主要介绍“SpringBoot中banner怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot中banner怎么使用”文章能帮助大家解决问题。制作自己的banner第
2023-06-08

Banner怎么在SpringBoot中使用

今天就跟大家聊聊有关Banner怎么在SpringBoot中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Spring Boot在启动项目时,控制台会打印一个Spring的log
2023-05-30

怎么使用Android banner

本篇内容主要讲解“怎么使用Android banner”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Android banner”吧!效果图:添加依赖 implementation c
2023-06-25

Android中banner的使用步骤

Step 1.依赖bannerGradle dependencies{compile 'com.youth.banner:banner:1.4.9' //最新版本 } 或者引用本地libcompile project(':banner')
2022-06-06

Android 中Banner的使用详解

首先倒入一个依赖: compile 'com.youth.banner:banner:1.4.9'添加的权限:
2022-06-06

Banner如何在Android应用中使用

这期内容当中小编将会给大家带来有关Banner如何在Android应用中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先倒入一个依赖: compile com.youth.banner:banner
2023-05-31

SpringBoot中怎么使用WebSocket

在Spring Boot中使用WebSocket可以通过以下步骤实现:首先添加WebSocket依赖:在pom.xml文件中添加以下依赖:org.springframework.boot
SpringBoot中怎么使用WebSocket
2024-03-07

SpringBoot中怎么使用@ConfigurationProperties

这篇文章主要介绍“SpringBoot中怎么使用@ConfigurationProperties”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot中怎么使用@Configuratio
2023-07-04

SpringBoot中@SessionAttributes怎么使用

本文小编为大家详细介绍“SpringBoot中@SessionAttributes怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“SpringBoot中@SessionAttributes怎么使用”文章能帮助大家解决疑惑,下面跟着小
2023-07-02

springboot中redis怎么使用

在Spring Boot中使用Redis,可以使用以下步骤:1. 添加依赖:在`pom.xml`文件中添加Redis的依赖:```xmlorg.springframework.bootspring-boot-starter-data-red
2023-09-04

rabbitmq怎么在springboot中使用

rabbitmq怎么在springboot中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。概述RabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的
2023-05-30

怎么在SpringBoot中使用nacos

怎么在SpringBoot中使用nacos?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、什么是nacosnacos支持基于dns和基于rpc的服务发现,可以作为spri
2023-06-15

怎么在Springboot中使用mybatis

今天就跟大家聊聊有关怎么在Springboot中使用mybatis,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前期工作1.导入mybatis整合依赖