SpringBoot的Banner
一 官方文档介绍
1 自定义横幅
通过在 classpath 中添加banner.txt
文件或将banner.location
设置为此类文件的位置,可以更改启动时打印的横幅。如果文件具有异常编码,则可以设置banner.charset
(默认为UTF-8
)。除了文本文件,您还可以将banner.gif
,banner.jpg
或banner.png
图像文件添加到 classpath,或设置banner.image.location
property。图像将转换为 ASCII 艺术表示并打印在任何文本横幅上方。
在banner.txt
文件中,您可以使用以下任何占位符:
表格 1_.横幅变量
变量 | 描述 |
---|---|
${application.version} |
在MANIFEST.MF 中声明的 application 的 version number。对于 example Implementation-Version: 1.0 打印为1.0 。 |
${application.formatted-version} |
在MANIFEST.MF 中声明的 application 的 version number 用于显示(用括号括起来并以v 为前缀)。对于 example (v1.0) 。 |
${spring-boot.version} |
您正在使用的 Spring Boot version。对于 example 1.5.9.RELEASE 。 |
${spring-boot.formatted-version} |
正在使用的 Spring Boot version 格式化显示(用括号括起来并以v 为前缀)。对于 example (v1.5.9.RELEASE) 。 |
${Ansi.NAME} (或${AnsiColor.NAME} ,${AnsiBackground.NAME} ,${AnsiStyle.NAME} ) |
其中NAME 是 ANSI 转义 code 的 name。有关详细信息,请参阅AnsiPropertySource。 |
${application.title} |
在MANIFEST.MF 中声明的 application 的标题。对于 example Implementation-Title: MyApp 打印为MyApp 。 |
如果要以编程方式生成横幅,可以使用
SpringApplication.setBanner(…)
方法。使用org.springframework.boot.Banner
接口并实现自己的printBanner()
方法。
您还可以使用spring.main.banner-mode
property 来确定是否必须使用已配置的 logger(log
)或根本不使用(off
)在System.out
(console
)上打印横幅。
打印的横幅将在 name springBootBanner
下注册为 singleton bean。
YAML maps
off
到false
所以如果要在 application 中禁用横幅,请务必添加引号。
spring:
main:
banner-mode: "off"
2 自定义 SpringApplication
如果SpringApplication
默认值不符合您的口味,您可以改为创建本地实例并对其进行自定义。例如,要关闭您要写的横幅:
public static void main(String[] args) {
SpringApplication app = new SpringApplication(MySpringConfiguration.class);
app.setBannerMode(Banner.Mode.OFF);
app.run(args);
}
传递给
SpringApplication
的构造函数 arguments 是 spring beans 的 configuration 源。在大多数情况下,这些将是@Configuration
classes 的 references,但它们也可以是 XML configuration 或应扫描的包的 reference。
也可以使用application.properties
文件配置SpringApplication
二 测试
自定义Banner
application.properties
spring.banner.location=banner.txt
banner.txt
!
/^\
/ \
| | ( ) | |
/^\ | /^\ \ / /^\ | /^\
|O| /^\ ( )|-----|( ) /^\ |O|
|_| |-| |^-^|---||-----||---|^-^| |-| |_|
|O| |O| |/^\|/^\|| | ||/^\|/^\| |O| |O|
|-| |-| ||_|||_||| /^\ |||_|||_|| |-| |-|
|O| |O| |/^\|/^\||( )||/^\|/^\| |O| |O|
|-| |-| ||_|||_|||| ||||_|||_|| |-| |-|
启动
!
/^\
/ \
| | ( ) | |
/^\ | /^\ \ / /^\ | /^\
|O| /^\ ( )|-----|( ) /^\ |O|
|_| |-| |^-^|---||-----||---|^-^| |-| |_|
|O| |O| |/^\|/^\|| | ||/^\|/^\| |O| |O|
|-| |-| ||_|||_||| /^\ |||_|||_|| |-| |-|
|O| |O| |/^\|/^\||( )||/^\|/^\| |O| |O|
|-| |-| ||_|||_|||| ||||_|||_|| |-| |-|
2019-10-28 22:19:03.614 INFO 18192 --- [ main] com.example.demo.TestApplication : Starting TestApplication on WGR-PC with PID 18192 (E:\STSWorkspace\test\target\classes started by asus in E:\STSWorkspace\test)
2019-10-28 22:19:03.614 INFO 18192 --- [ main] com.example.demo.TestApplication : No active profile set, falling back to default profiles: default
2019-10-28 22:19:04.394 INFO 18192 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2019-10-28 22:19:04.432 INFO 18192 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
关闭Banner
spring.main.banner-mode=off
带枚举
更换
Banner
相对于隐藏要简单一些,我们只需要在src/main/resource
下添加一个名叫banner.txt
的文件,将需要修改的内容写入到该文件内就可以了,具体Banner
内容如下所示:${AnsiColor.BRIGHT_RED} ! 天地山青 ${AnsiColor.BRIGHT_YELLOW} !
${AnsiColor.BRIGHT_RED} /^\ ${AnsiColor.BRIGHT_YELLOW}道法无常 /^\
${AnsiColor.BRIGHT_RED} / \ 天地无极 ${AnsiColor.BRIGHT_YELLOW} / \
${AnsiColor.BRIGHT_RED} | | ( ) | | ${AnsiColor.BRIGHT_YELLOW}乾坤戒法 | | ( ) | |
${AnsiColor.BRIGHT_RED} /^\ | /^\ \ / /^\ | /^\ 元阳入体 ${AnsiColor.BRIGHT_YELLOW} /^\ | /^\ \ / /^\ | /^\
${AnsiColor.BRIGHT_RED} |O| /^\ ( )|-----|( ) /^\ |O| ${AnsiColor.BRIGHT_YELLOW}五毒不侵 |O| /^\ ( )|-----|( ) /^\ |O|
${AnsiColor.BRIGHT_RED} |_| |-| |^-^|---||-----||---|^-^| |-| |_| 九阳之体 ${AnsiColor.BRIGHT_YELLOW} |_| |-| |^-^|---||-----||---|^-^| |-| |_|
${AnsiColor.BRIGHT_RED} |O| |O| |/^\|/^\|| | ||/^\|/^\| |O| |O| ${AnsiColor.BRIGHT_YELLOW}化缘神功 |O| |O| |/^\|/^\|| | ||/^\|/^\| |O| |O|
${AnsiColor.BRIGHT_RED} |-| |-| ||_|||_||| /^\ |||_|||_|| |-| |-| 邪魔退散 ${AnsiColor.BRIGHT_YELLOW} |-| |-| ||_|||_||| /^\ |||_|||_|| |-| |-|
${AnsiColor.BRIGHT_RED} |O| |O| |/^\|/^\||( )||/^\|/^\| |O| |O| ${AnsiColor.BRIGHT_YELLOW}永不宕机 |O| |O| |/^\|/^\||( )||/^\|/^\| |O| |O|
${AnsiColor.BRIGHT_RED} |-| |-| ||_|||_|||| ||||_|||_|| |-| |-| 永无八哥 ${AnsiColor.BRIGHT_YELLOW} |-| |-| ||_|||_|||| ||||_|||_|| |-| |-|
${AnsiColor.BRIGHT_CYAN}在上面有一些属性配置,如
${AnsiColor.BRIGHT_RED}
,这些配置都位于`org.springframework.boot.ansi.AnsiColor
枚举内,用于配置的是输出的颜色。可配置内容如下所示:DEFAULT("39"),
BLACK("30"),
RED("31"),
GREEN("32"),
YELLOW("33"),
BLUE("34"),
MAGENTA("35"),
CYAN("36"),
WHITE("37"),
BRIGHT_BLACK("90"),
BRIGHT_RED("91"),
BRIGHT_GREEN("92"),
BRIGHT_YELLOW("93"),
BRIGHT_BLUE("94"),
BRIGHT_MAGENTA("95"),
BRIGHT_CYAN("96"),
BRIGHT_WHITE("97");这个配置是针对文字的颜色,当然还有背景颜色的配置,位于
org.springframework.boot.ansi.AnsiBackground
枚举内,可配置的内容如下所示:DEFAULT("49"),
BLACK("40"),
RED("41"),
GREEN("42"),
YELLOW("43"),
BLUE("44"),
MAGENTA("45"),
CYAN("46"),
WHITE("47"),
BRIGHT_BLACK("100"),
BRIGHT_RED("101"),
BRIGHT_GREEN("102"),
BRIGHT_YELLOW("103"),
BRIGHT_BLUE("104"),
BRIGHT_MAGENTA("105"),
BRIGHT_CYAN("106"),
BRIGHT_WHITE("107");具体的
banner.txt
的内容可根据自己的爱好进行配置! 天地山青 !
/^\ 道法无常 /^\
/ \ 天地无极 / \
| | ( ) | | 乾坤戒法 | | ( ) | |
/^\ | /^\ \ / /^\ | /^\ 元阳入体 /^\ | /^\ \ / /^\ | /^\
|O| /^\ ( )|-----|( ) /^\ |O| 五毒不侵 |O| /^\ ( )|-----|( ) /^\ |O|
|_| |-| |^-^|---||-----||---|^-^| |-| |_| 九阳之体 |_| |-| |^-^|---||-----||---|^-^| |-| |_|
|O| |O| |/^\|/^\|| | ||/^\|/^\| |O| |O| 化缘神功 |O| |O| |/^\|/^\|| | ||/^\|/^\| |O| |O|
|-| |-| ||_|||_||| /^\ |||_|||_|| |-| |-| 邪魔退散 |-| |-| ||_|||_||| /^\ |||_|||_|| |-| |-|
|O| |O| |/^\|/^\||( )||/^\|/^\| |O| |O| 永不宕机 |O| |O| |/^\|/^\||( )||/^\|/^\| |O| |O|
|-| |-| ||_|||_|||| ||||_|||_|| |-| |-| 永无八哥 |-| |-| ||_|||_|||| ||||_|||_|| |-| |-|
2019-10-28 22:26:50.213 INFO 18256 --- [ main] com.example.demo.TestApplication : Starting TestApplication on WGR-PC with PID 18256 (E:\STSWorkspace\test\target\classes started by asus in E:\STSWorkspace\test)
2019-10-28 22:26:50.215 INFO 18256 --- [ main] com.example.demo.TestApplication : No active profile set, falling back to default profiles: default
2019-10-28 22:26:51.140 INFO 18256 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2019-10-28 22:26:51.171 INFO 18256 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
SpringBoot的Banner的更多相关文章
- SpringBoot的Banner横幅
SpringBoot的Banner横幅即在SpringBoot应用程序启动过程中,日志输出的如下内容: 如果想替换此部分内容的话,可以在classpath根路径下建立一个文件,命名为:banner.t ...
- SpringBoot 自定义Banner
在2016年的最后一天,借用Spring Boot的Banner向各位程序猿同仁们问候一声:Happy New Year. 接下来我们就来介绍一下这个轻松愉快的自定义banner功能.实现的方式非常简 ...
- 自定义SpringBoot启动banner
序: springboot启动的时候会有一个启动logo似的东西,如图,这个logo似的东西叫做banner,本文小计修改此banner显示与关闭banner.没什么用,有兴趣可以玩玩-- 正文: 自 ...
- SpringBoot启动banner更改
这篇文章的开始先给大家看一个图片 用过或者看过springboot的人都知道,这就是springboot启动的banner,这一篇介绍如何自定义springboot的启动bannner. 先介绍一个可 ...
- SpringBoot管理Banner
一.引言 在springboot项目启动的时候,会在console控制台中打印出一个SPRING的图案.有时候为了减少日志输出以及控制台的输出,就需要将这些给去除:有时候需要换上个人的标签等标识,就需 ...
- springboot设置banner
下图是springboot项目启动的的打印数据,在log中可以清楚的看到有一个spring的banner图案,这个图案其实我们是可以自己进行设置的 我们在项目目录的resources目录下创建一个ba ...
- springboot之banner
1 在Main里面关闭 @SpringBootApplication@MapperScan("org.sselab.mapper")public class Application ...
- springboot自定义banner生成器
http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20
- 教你如何快速定制 SpringBoot banner
之前说过如何快速创建SpringBoot项目,不知道的同学可以查看之前的文章 5分钟学会如何创建spring boot项目. 为了让大家脱单,码哥简直费尽心思,今天这个技能或许可以让你脱单! 今天我们 ...
随机推荐
- Spring MVC-从零开始-@RequestMapping结合@RequestParam (从HTTP键值对中取值,作用于函数参数)
1.@RequestParam 注解使用的时候可以有一个值,也可以没有值:如果请求参数和处理方法参数的名称一样的话,@RequestParam 注解的 value 这个参数就可省掉了:@Request ...
- json与java对象的转换,以及struts2对json的支持,实现ajax技术
这两天学的东西有点多,今天抽个时间写下来,以此作为激励,这两天学了json,ajax,jQuery 一.使用第三方的工具java转换为json类型 首先就是java类型转换为json对象,首先要导入第 ...
- 在网页中动态地给表格添加一行内容--HTML+CSS+JavaScript
需求描述: 用户在页面上点击按钮,可以把文本框中的数据在表格的新的一行中显示,具体表现如下图: 如果如果输入框内容有一项为空,弹出对话框‘请将数据填入完全 步骤: 1.按钮注册单击事件 2.获取并判断 ...
- Shell之操作环境
目录 Shell之操作环境 参考 命令运行顺序 欢迎信息 环境配置 Shell之操作环境
- MySQL 深入理解索引B+树存储 (转载))
出处:http://blog.codinglabs.org/articles/theory-of-mysql-index.html 摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一 ...
- 深圳市网络安全中心发出通告,TeamViewer已被APT41黑客攻破
上期我们讲了东南亚赌局为什么都是福建老板了,这次来介绍下黑客组织APT41 ,这个组织在 HT界 比较出名,很早之前是匿名在地下交易所的,而在近年频繁出现在大众视野中,这不,刚刚又把我们常用的远程工具 ...
- kubernetes垃圾回收器GarbageCollector Controller源码分析(二)
kubernetes版本:1.13.2 接上一节:kubernetes垃圾回收器GarbageCollector Controller源码分析(一) 主要步骤 GarbageCollector Con ...
- sudo 提示 'xxx is not in the sudoers file.This incident will be reported.的解决方法'
在使用 Linux 的过程中,有时候需要临时获取 root 权限来执行命令时,一般通过在命令前添加 sudo 来解决. 但是第一次使用 sudo 时,有可能会得到这样一个错误提示 xxx is not ...
- sql获取各种时间格式的方法
),)--月/日/年 ),)--年.月.日 (常用) ),)--日/月/年 ),)--日.月.年 ),)--日-月-年 ),)--日 月 年
- Celery的使用完成异步任务与定时任务
0917自我总结 Celery的使用 一.官方文档 Celery 官网:http://www.celeryproject.org/ Celery 官方文档英文版:http://docs.celeryp ...