java.lang.throwable,SpringBoot 2.1.5(12)--- Spring Boot 特性上

 2023-09-26 阅读 29 评论 0

摘要:SpringApplication类提供了一种方便的方法来引导Spring应用程序,从main()方法开始。在许多情况下,可以委托给静态 springApplication.run方法,如下例所示: public static void main(String[] args) {SpringApplication.run(MySpri

  SpringApplication类提供了一种方便的方法来引导Spring应用程序,从main()方法开始。在许多情况下,可以委托给静态

springApplication.run方法,如下例所示:

public static void main(String[] args) {SpringApplication.run(MySpringConfiguration.class, args);
}

 当应用程序启动时,您应该看到类似于以下输出的内容:

默认情况下,将显示信息日志消息,包括一些相关的启动详细信息,例如启动应用程序的用户。如果需要一个日志级别而不是信息,您可以设置它。

启动失败

如果应用程序无法启动,注册的故障分析器将有机会提供专用的错误消息和修复问题的具体操作。例如,如果在上启动Web应用程序端口8080和该端口已在使用中,您应该看到类似于以下消息的内容:

APPLICATION FAILED TO START
***************************
Description:
Embedded servlet container failed to start. Port 8080 was already in use.
Action:
Identify and stop the process that's listening on port 8080 or configure this application to listen on another port

如果没有故障分析器能够处理异常,仍然可以显示完整的状况报告,以便更好地了解出了什么问题。

因此,需要为启用调试属性或启用调试日志记录

org.springframework.boot.autoconfigure.logging.conditionEvaluationReportLoggingListener。

例如,如果使用Java-jar运行应用程序,则可以启用调试。

属性如下:$ java -jar myproject-0.0.1-SNAPSHOT.jar --debug

定制Banner

可以通过在类路径中添加banner.txt文件来更改在启动时打印的标题,或者将spring.banner.location属性设置为此类文件的位置。如果文件除了utf-8之外的编码,可以设置spring.banner.charset。除了文本文件之外,还可以还可以将banner.gif、banner.jpg或banner.png图像文件添加到类路径或设置spring.banner.image.location属性。图像转换为ASCII艺术表示

并在任何文本横幅上方打印。

在banner.txt文件中,可以使用以下任何占位符:

1. 第一种方式:修改的时候,进行设置,在Application的main方法中:

SpringApplication application = new SpringApplication(App.class);
/*
* Banner.Mode.OFF:关闭;
* Banner.Mode.CONSOLE:控制台输出,默认方式;
* Banner.Mode.LOG:日志输出方式;
/
application.setBannerMode(Banner.Mode.
OFF*);
application.run(args);

2. 第二种方式:修改banner.txt配置文件

在src/main/resouces下新建banner.txt,在文件中加入:

 
#这个是MANIFEST.MF文件中的版本号 
${application.version}              #这个是上面的的版本号前面加v后上括号 
${application.formatted-version}#这个是springboot的版本号 
${spring-boot.version}             #这个是springboot的版本号 
${spring-boot.formatted-version}

resource目录下面放入一个banner.txt文件,Spring Boot启动项目的时候就会优先启动这个文件中的内容。注意,不止在war包或者Fat Jar的resource目录放置会起效果,在任一插件的resource目录放置也可以生效。当然这里涉及到一个优先级的问题,在war包或Fat Jar中放置的优先级高于插件jar包的。

3. 第三种方式:重写接口Banner实现

SpringBoot提供了一个接口org.springframework.boot.Banner,他的实例可以被传给SpringApplication的setBanner(banner)方法。如果你闲得不行非要着重美化这个命令行输出的话,可以重写Banner接口的printBanner方法。

4. 第四种方式:在application.properties进行配置

在application.proerpties进行banner的显示和关闭:

### 是否显示banner,可选值[true|false]
spring.main.show-banner=false

yaml 文件中:

spring:main:banner-mode: "off"

实际上Spring Boot在这个位置,放了一个彩蛋,我们是可以自定义这个图标的。
我们可以在resource目录下面放入一个banner.txt
文件,Spring Boot启动项目的时候就会优先启动这个文件中的内容。
这里给大家推荐两个个字符画生成的网站,我们可以利用生成的字符串放入这个banner.txt
文件:

http://www.network-science.de/ascii/
http://patorjk.com/software/taag/

 

 

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/97456.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息