SpringBoot默认启动界面
问题:每次 运行springboot项目,就会有一个很大很大的spring的logo,看习惯了是不是很想改一下讷?
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.5.0)
Banner样式控制
我们可以修改 banner 的演示以及其他属性,例如字体的样式,粗体、斜体等,Spring Boot 为提供了三个枚举类来设定这些样式,他们分别是:
-
AnsiColor:用来设定字符的前景色;
-
AnsiBackground:用来设定字符的背景色。
-
AnsiStyle:用来控制加粗、斜体、下划线等等。
${AnsiColor.BRIGHT_RED}:设置控制台中输出内容的颜色
Banner使用输出变量
在 banner.txt 中我们还可以输出一些全局变量,例如:
-
${application.version}:用来获取 MANIFEST.MF 文件中的版本号;
-
${application.formatted-version}:格式化后的 ${application.version} 版本信息;
-
${spring-boot.version}:Spring Boot 版本号;
-
${spring-boot.formatted-version}:格式化后的 ${spring-boot.version} 版本信息;
定制化SpringBoot启动Banner
-
首先,在resources下创建benner.txt文档,与application.properties(.yml)同级。
-
打开banner.txt写入文字,如下
${AnsiColor.BRIGHT_RED} /===-_---~~~~~~~~~------____ ${AnsiColor.BRIGHT_RED} |===-~___ _,-' ${AnsiColor.BRIGHT_RED} -==\\ `//~\\ ~~~~`---.___.-~~ ${AnsiColor.BRIGHT_RED} ______-==| | | \\ _-~` ${AnsiColor.BRIGHT_RED} __--~~~ ,-/-==\\ | | `\ ,' ${AnsiColor.BRIGHT_RED} _-~ /' | \\ / / \ / ${AnsiColor.BRIGHT_RED} .' / | \\ /' / \ /' ${AnsiColor.BRIGHT_YELLOW} / ____ / | \`\.__/-~~ ~ \ _ _/' / \/' /-'~ ~~~~~---__ | ~-/~ ( ) /' _--~` \_| / _) ; ), __--~~ '~~--_/ _-~/- / \ '-~ \ {\__--_/} / \\_>- )<__\ \ /' (_/ _-~ | |__>--<__| | |0 0 _/) )-~ | |__>--<__| | / /~ ,_/ / /__>---<__/ | o o _// /-~_>---<__-~ / (^(~ /~_>---<__- _-~ ,/| /__>--<__/ _-~ ,//('( |__>--<__| / .----_ ( ( ')) |__>--<__| | /' _---_~\ `-)) )) ( |__>--<__| | /' / ~\`\ ,/,'//( ( \__>--<__\ \ /' // || ,( ( ((, )) ~-__>--<_~-_ ~--____---~' _/'/ /' `~/ )` ) ,/| ~-_~>--<_/-__ __-~ _/ ._-~//( )/ )) ` ~~-'_/_/ /~~~~~~~__--~ ;'( ')/ ,)( ~~~~~~~~~~ ' ') '( (/ ' ' ` ${spring-boot.version}:Spring Boot的版本号 ${spring-boot.formatted-version}:格式化后的 ${spring-boot.version} 版本信息 ${application.version}:用来获取 MANIFEST.MF 文件中的版本号 ${application.formatted-version}:格式化后的 ${application.version} 版本信息
-
重启springboot即可生效,如不生效,可以重启idea
Banner图在线生成
在线生成 banner 的地址:
-
https://www.bootschool.net/ascii
-
http://www.network-science.de/ascii/
-
http://patorjk.com/software/taag/
-
http://www.degraeve.com/img2txt.php
关闭SpringBoot启动Banner
如果我们需要关闭SpringBoot启动Banner,可以通过以下三种方法实现。
1.通过代码关闭Banner
我们可以在 Spring Boot 启动(run)之前设置隐藏 banner,实现代码如下:
public class DemoApplication {
public static void main(String[] args) {
SpringApplication springApplication = new SpringApplication(DemoApplication.class);
// 隐藏 banner
springApplication.setBannerMode(Banner.Mode.OFF);
// 启动 Spring Boot
springApplication.run(args);
}
}
2.通过配置文件隐藏Banner
在 Spring Boot 的配置文件 application.properties 通过设置如下配置来隐藏 banner 的显示,配置如下:
spring.main.banner-mode=off
3.在Idea中隐藏Banner
附:彩蛋
文章的末尾,附一个七彩佛祖的 banner 内容:
${AnsiColor.BRIGHT_GREEN}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
${AnsiColor.BRIGHT_YELLOW}$$ _.ooOoo._ $$
${AnsiColor.BRIGHT_RED}$$ o888888888o $$
${AnsiColor.BRIGHT_CYAN}$$ 88" . "88 $$
${AnsiColor.BRIGHT_MAGENTA}$$ (| ^_^ |) $$
${AnsiColor.BRIGHT_GREEN}$$ O\ = /O $$
${AnsiColor.BRIGHT_RED}$$ ____/`-----'\____ $$
${AnsiColor.BRIGHT_CYAN}$$ .' \\| |$$ `. $$
${AnsiColor.BRIGHT_MAGENTA}$$ / \\||| : |||$$ \ $$
${AnsiColor.BRIGHT_GREEN}$$ / _||||| -:- |||||- \ $$
${AnsiColor.BRIGHT_YELLOW}$$ | | \\\ - $$/ | | $$
${AnsiColor.BRIGHT_GREEN}$$ | \_| ''\-----/'' | | $$
${AnsiColor.BRIGHT_YELLOW}$$ \ .-\___ `-` ____/-. / $$
${AnsiColor.BRIGHT_CYAN}$$ ___`. .' /--.--\ `. . ___ $$
${AnsiColor.BRIGHT_RED}$$ ."" '< `.____\_<|>_/____.' >'"". $$
${AnsiColor.BRIGHT_GREEN}$$ | | : `- \`.;`.\ _ /``;.`/ - ` : | | $$
${AnsiColor.BRIGHT_YELLOW}$$ \ \ `-. \_ ___\ /___ _/ .-` / / $$
${AnsiColor.BRIGHT_CYAN}$$ ========`-.____`-.____\_____/____.-`____.-'======== $$
${AnsiColor.BRIGHT_MAGENTA}$$ `=---=' $$
${AnsiColor.BRIGHT_YELLOW}$$ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ $$
${AnsiColor.BRIGHT_GREEN}$$ 佛祖保佑 永无BUG 永不修改 $$
${AnsiColor.BRIGHT_YELLOW}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
${AnsiColor.BRIGHT_YELLOW}
实现效果如下图所示: