`
somefuture
  • 浏览: 1091162 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SpringBoot启动时的Banner设置

 
阅读更多

对于使用过SpringBoot的开发者来说,程序启动的时候输出的由字符组成的Spring符号并不陌生。这个是SpringBoot为自己设计的Banner:

 

如果有人不喜欢这个输出,本文说一下怎么修改。

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方法。

1
2
分享到:
评论
3 楼 tzq668766 2018-06-06  
刚找到一个中文版springboot banner在线生成工具http://www.bootschool.net/ascii,样式挺多
2 楼 somefuture 2015-10-09  
qindongliang1922 写道
写的不错,清晰易懂!
谢谢,你们的支持是我进步的动力
1 楼 qindongliang1922 2015-10-08  
写的不错,清晰易懂!

相关推荐

    springBoot启动banner图

    在springBoot项目中,将本文件的文件名更改为 banner.txt 后放到resources下,启动即可看到。

    SpringBoot启动图片banner -- 佛祖保佑 永不宕机 永无BUG

    在Spring Boot应用中,启动时显示的"SpringBoot启动图片banner -- 佛祖保佑 永不宕机 永无BUG"是一种定制化的欢迎信息,它不仅可以为开发者带来一丝乐趣,也是项目个性化的体现。这个过程涉及到Spring Boot的初始化...

    springboot启动手势banner

    /"\ |\ /| | | | ~ | | | /'\| |/'\ /"\| | | | \ | [ @ ] | | \ | | | | | \ | ~ ~ ~ ~ | ) \ | / \ / \ / \ _____ / |– //''`\ – | | (( =+= )) | |– \\_|_//– |

    SpringBoot个性化启动Banner设置方法解析

    SpringBoot 个性化启动 Banner 设置方法是指在 SpringBoot 项目启动时,显示一个个性化的 Banner,而不是默认的 SpringBoot Banner。这个方法解析文档将详细介绍如何实现个性化启动 Banner 设置。 为什么需要个性化...

    修改SpringBoot项目的启动banner(超个性)

    如果你不希望在启动时显示任何`banner`,可以通过修改SpringBoot启动类的代码来关闭它。在原始的`main`方法中,通常会有如下代码: ```java public static void main(String[] args) { SpringApplication.run...

    SpringBoot启动图标修改

    下面将详细介绍如何进行SpringBoot启动图标的修改。 首先,我们要理解Spring Boot中的Banner机制。Banner是Spring Boot在应用程序启动时显示的一段文本或图像,它主要用于展示项目信息或者增加项目的个性化。Spring...

    超个性修改SpringBoot项目的启动banner的方法

    知识点1:SpringBoot启动banner的修改 SpringBoot项目启动时,会打印一个banner图案,该图案可以通过添加banner.txt文件到类路径或设置spring.banner.location属性来修改。同时,如果文件的编码不是UTF-8,可以设置...

    Spring Boot启动banner定制的步骤详解

    "Spring Boot启动banner定制的步骤详解" 在 Spring Boot 应用程序中,启动 banner 是可以进行定制的,这篇文章将详细介绍 Spring Boot 启动 banner 定制的步骤和方法。 首先,Spring Boot 的默认启动 banner 是...

    详解SpringBoot基础之banner玩法解析

    SpringBoot 项目启动时 Banner 玩法解析 标题解析 在 SpringBoot 项目启动时,我们通常会看到控制台中打印出的默认启动图案,这个图案就是我们要讲的 Banner。本篇文章主要介绍了 SpringBoot 项目中的 Banner 玩法...

    Springboot进阶图解Springboot启动流程

    - 如果配置了 banner,Spring Boot 会在启动时打印出来,展示应用的信息。 5. **应用上下文初始化** - 创建 `ApplicationContext`,可以选择基于 ClassPath 或基于 Bean 定义的上下文。 - 加载 `@Profile` 标注...

    4、springboot--定制启动banner

    理解了这些基础知识后,你可以根据项目的需求灵活地定制Spring Boot的启动Banner,让应用在启动时更具个性化。记得在开发过程中,保持代码的清晰性和可维护性,避免过于复杂的Banner设计影响到主要的业务逻辑。同时...

    SpringBoot启动过程-mind版.md

    - **打印 Banner**:根据配置情况显示启动时的 Banner 图标。 4. **创建 Spring 容器** - **创建 ApplicationContext**:根据应用类型创建对应的 `ApplicationContext`: - **非 Web 应用**:使用 `...

    SpringBoot启动应用及回调监听原理解析

    2. 设置应用程序的主要参数,如Banner模式、日志输出等 3. 读取META-INF/spring.factories文件中的类,用于注册ApplicationContextInitializer和ApplicationListener 4. 执行run方法,启动应用程序 ...

    Springboot 启动显示彩虹猫图案(banner.txt)

    使用方法:直接替换本地banner.txt文件即可。

    springboot-web-utils

    3. **修改默认Banner**:SpringBoot启动时会打印出一个包含版本信息、版权等的Banner,这对于开发者来说是一个友好的提示。"springboot-web-utils"允许你自定义这个Banner,可以根据项目需求设计个性化展示,提升...

    SpringBoot核心-核心注解、自动配置、自定义banner

    在SpringBoot中,你可以通过提供一个名为`Banner.txt`的文本文件,或者创建一个`Banner`类来定制启动时显示的banner信息。这个信息可以包含版本号、版权信息、项目标语等,提升应用的专业感。如果选择编程方式实现,...

    SpringBoot整个启动过程的分析

    在`SpringApplication`类的构造方法中,我们可以看到基础值的设置,例如banner模式、日志启动信息、命令行属性等。然后,构造方法将调用`initialize`方法进行初始化。 三、initialize方法 在`initialize`方法中,...

    Springboot自定义banner及验证过程

    在学习和工作中,我们经常会遇到Springboot项目的启动过程中出现的Banner问题。今天,我们将详细介绍如何自定义Springboot的Banner,并对整个过程进行验证。 首先,让我们了解一下什么是Banner。在启动项目的时候,...

    SpringBoot之Banner的使用示例

    在 Spring Boot 框架中,Banner 是一个非常重要的组件,它负责在应用程序启动时打印出 Spring 的 logo 及相关信息。在本文中,我们将详细介绍 Spring Boot 之 Banner 的使用示例。 一、什么是 Banner? 在 Spring ...

    SpringBoot.docx

    6. **自定义启动Banner**:SpringBoot允许开发者自定义启动时显示的Banner,可以在线生成字符艺术图,保存为`banner.txt`,放置在项目的`resources`目录下,启动时会显示这个自定义的Banner。 7. **全局配置文件**...

Global site tag (gtag.js) - Google Analytics