对于使用过SpringBoot的开发者来说,程序启动的时候输出的由字符组成的Spring符号并不陌生。这个是SpringBoot为自己设计的Banner:
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.2.6.RELEASE)
如果有人不喜欢这个输出,本文说一下怎么修改。
SpringBoot由于大力推行自动配置,取消了各种XML配置和properties配置(当然也提供了使用他们的途径),不再使用web.xml,也优先使用了可执行jar包代替war包。你甚至删掉WEB-INF目录都不影响打包操作,因为jar包用不到这个。
所以SpringBoot默认提供了各种小tricks,但是也强烈建议开发者提供自己的实现来代替默认配置,比如你可以注入一个DataSource,Spring就会使用这个而关闭自己默认的。
对于这个banner,却没有那么复杂。最起码的,如果你实在不想要看到它,关闭即可。
SpringBoot的主函数在由@Configuration、@ComponentScan、@EnableAutoConfiguration注解的一个类中,或者三归一的注解为@SpringBootApplication。最简单的写法是
@SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
而其中的SpringApplication还有一个实例方法run(上面的run是静态方法,这个类一共有四个run方法,其中2个是静态的)和另一个实例方法void setShowBanner(boolean showBanner), which is我们正想用的。所以修改代码如下
public static void main(String[] args) { // SpringApplication.run(Application.class, args); SpringApplication application = new SpringApplication(Application.class); application.setShowBanner(false); application.run(args); }
好了,我们不但学习到了如何关闭banner,还学会了一种新的运行程序的方法。moreover,还有一种方法也可以
public static void main(String[] args) { // SpringApplication.run(Application.class, args); // SpringApplication application = new // SpringApplication(Application.class); // application.setShowBanner(false); // application.run(args); new SpringApplicationBuilder().showBanner(true).sources(Application.class).run(args); }
我注释掉了之前我们用的代码,最下面一行是新的方法,使用SpringApplicationBuilder。
关于几种run方法的不同,需要的话可以到官网了解一下。一般用不到。
不过上面的方法有些强盗,有些因噎废食。我们只是不想看到默认输出,但是还想看到unique的输出搞啊?
我们可以使用一个文件,在类路径下增加一个banner.txt,比如放到resources文件夹。这个文件会让springBoot关闭自己的输出,而把文件内容打出来。你可以试一下。
另外,这个文件还可以引用外部变量。有四个变量可以用到:
${application.version} 这个是MANIFEST.MF文件中的版本号 ${application.formatted-version} 这个是上面的的版本号前面加v后上括号 ${spring-boot.version} 这个是springboot的版本号 ${spring-boot.formatted-version}同上
比如我在banner.txt中写了一行
${spring-boot.version}HHHHH
输出就是
1.2.6.RELEASEHHHHH
最后,SpringBoot提供了一个接口org.springframework.boot.Banner,他的实例可以被传给SpringApplication的setBanner(banner)方法。如果你闲得不行非要着重美化这个命令行输出的话,可以重写Banner接口的printBanner方法。
相关推荐
自定义SpringBoot启动图片banner -- 佛祖保佑 永不宕机 永无BUG
在springBoot项目中,将本文件的文件名更改为 banner.txt 后放到resources下,启动即可看到。
/"\ |\ /| | | | ~ | | | /'\| |/'\ /"\| | | | \ | [ @ ] | | \ | | | | | \ | ~ ~ ~ ~ | ) \ | / \ / \ / \ _____ / |– //''`\ – | | (( =+= )) | |– \\_|_//– |
主要介绍了SpringBoot个性化启动Banner设置方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Springboot 启动的同时会打印下面的图案,并带有版本号。 查看SpringBoot官方文档可以找到关于 banner 的描述 The banner that is printed on start up can be changed by adding a banner.txt file to your ...
Springboot启动logo更改,选择文本或者图片方式
4、springboot--定制启动banner--源码
SpringBoot项目启动时会在控制台打印一个默认的启动图案,这个图案就是我们要讲的banner,这篇文章主要介绍了SpringBoot基础之banner玩法解析,感兴趣的小伙伴们可以参考一下
使用方法:直接替换本地banner.txt文件即可。
主要介绍了超个性修改SpringBoot项目的启动banner的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
主要给大家介绍了关于Spring Boot启动banner定制的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
这下是不是就熟悉了,其实SpringBoot支持自定义banner图案。只需要放在指定位置,SpringBoot会帮我们自动替换。Spring Boot 默认寻找 Banner 的顺序是: 1.依次在 Classpath 下找 文件 banner.gif , banner.jpg , 和 ...
* 自定义启动 Banner * 导入 spring XML 配置文件 * 热部署 * 监控和管理生产环境 * starter 详解 * 依赖的版本 * 文件上传 * 集成 redis 缓存 * 之 spring cache * 集成 EHCache * 分布式 Session 共享
1.31 SpringBoot启动时的Banner设置 1.32 Spring boot 文件上传(多文件上传) 1.33 导入时如何定制spring-boot依赖项的版本 1.34 Spring Boot导入XML配置 1.35 Spring Boot使用@SpringBootApplication注解 1.36 ...
│ │ ├── banner.txt banner │ │ ├── mapper │ │ └── template ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科...
SpringBoot项目启动配置文件,献上祖师爷画像一副,可以驱灾辟邪,代码无BUG,所有DEMO完美运行。
SpringBoot项目启动时候打印文字。
三、个性化banner 四、常用注解 4.1回顾spring和java的注解 4.1.1 spring标注类的注解: 4.1.2 spring标注方法的注解: 4.1.3 spring标注参数的注解: 4.1.4 spring标注属性的注解: 4.2 相关注解说明 4.2.1 @...