文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

Banner怎么在SpringBoot中使用

2023-05-30 21:46

关注

今天就跟大家聊聊有关Banner怎么在SpringBoot中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

Spring Boot在启动项目时,控制台会打印一个Spring的logo。如果不做任何配置

该信息来源于SpringBootBanner类的静态常量BANNER,该属性是一个字符串数组,不指定任何banner属性时,控制台默认输出该数组数据。我们可以通过Spring Boot提供的强大配置功能来改变banner的输出。

通常长成这样

Banner怎么在SpringBoot中使用

一个Spring扑面而来~

那么我们能否定制自己的启动页呢?

源码

SpringBoot在启动时会调用如下一段代码

private Banner printBanner(ConfigurableEnvironment environment) { if (this.bannerMode == Banner.Mode.OFF) {  return null; } ResourceLoader resourceLoader = this.resourceLoader != null ? this.resourceLoader   : new DefaultResourceLoader(getClassLoader()); SpringApplicationBannerPrinter bannerPrinter = new SpringApplicationBannerPrinter(   resourceLoader, this.banner); if (this.bannerMode == Mode.LOG) {  return bannerPrinter.print(environment, this.mainApplicationClass, logger); } return bannerPrinter.print(environment, this.mainApplicationClass, System.out);}public Banner print(Environment environment, Class<?> sourceClass, PrintStream out) { Banner banner = getBanner(environment, this.fallbackBanner); banner.printBanner(environment, sourceClass, out); return new PrintedBanner(banner, sourceClass);}private Banner getBanner(Environment environment, Banner definedBanner) { Banners banners = new Banners(); banners.addIfNotNull(getImageBanner(environment)); banners.addIfNotNull(getTextBanner(environment)); if (banners.hasAtLeastOneBanner()) {  return banners; } if (this.fallbackBanner != null) {  return this.fallbackBanner; } return DEFAULT_BANNER;}private static final Banner DEFAULT_BANNER = new 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 + ")");  String padding = "";  while (padding.length() < STRAP_LINE_SIZE   - (version.length() + SPRING_BOOT.length())) {   padding += " ";  }   printStream.println(AnsiOutput.toString(AnsiColor.GREEN, SPRING_BOOT,   AnsiColor.DEFAULT, padding, AnsiStyle.FAINT, version));  printStream.println(); } }

上述代码可以看到banner存在两种 imageBanner和textBanner

imageBanner需要配置属性为banner.image.location

或者支持名为banner格式为 "gif", "jpg", "png的图片

textBanner支持默认情况下在banner.location 或者默认为banner.txt

比如我们可以如下设置

Banner怎么在SpringBoot中使用 

在resource分别放置banner.txt和banner.png

banner.png

 Banner怎么在SpringBoot中使用

banner.txt

/$$$$$$$$ /$$$$$$
| $$_____//$$__  $$
| $$     | $$  \__/
| $$$$$  | $$$$$$$
| $$__/  | $$__  $$
| $$     | $$  \ $$
| $$     |  $$$$$$/
|__/      \______/

看完上述内容,你们对Banner怎么在SpringBoot中使用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。

阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯