对于使用过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.txt 后放到resources下,启动即可看到。
在Spring Boot应用中,启动时显示的"SpringBoot启动图片banner -- 佛祖保佑 永不宕机 永无BUG"是一种定制化的欢迎信息,它不仅可以为开发者带来一丝乐趣,也是项目个性化的体现。这个过程涉及到Spring Boot的初始化...
/"\ |\ /| | | | ~ | | | /'\| |/'\ /"\| | | | \ | [ @ ] | | \ | | | | | \ | ~ ~ ~ ~ | ) \ | / \ / \ / \ _____ / |– //''`\ – | | (( =+= )) | |– \\_|_//– |
SpringBoot 个性化启动 Banner 设置方法是指在 SpringBoot 项目启动时,显示一个个性化的 Banner,而不是默认的 SpringBoot Banner。这个方法解析文档将详细介绍如何实现个性化启动 Banner 设置。 为什么需要个性化...
如果你不希望在启动时显示任何`banner`,可以通过修改SpringBoot启动类的代码来关闭它。在原始的`main`方法中,通常会有如下代码: ```java public static void main(String[] args) { SpringApplication.run...
下面将详细介绍如何进行SpringBoot启动图标的修改。 首先,我们要理解Spring Boot中的Banner机制。Banner是Spring Boot在应用程序启动时显示的一段文本或图像,它主要用于展示项目信息或者增加项目的个性化。Spring...
知识点1:SpringBoot启动banner的修改 SpringBoot项目启动时,会打印一个banner图案,该图案可以通过添加banner.txt文件到类路径或设置spring.banner.location属性来修改。同时,如果文件的编码不是UTF-8,可以设置...
"Spring Boot启动banner定制的步骤详解" 在 Spring Boot 应用程序中,启动 banner 是可以进行定制的,这篇文章将详细介绍 Spring Boot 启动 banner 定制的步骤和方法。 首先,Spring Boot 的默认启动 banner 是...
SpringBoot 项目启动时 Banner 玩法解析 标题解析 在 SpringBoot 项目启动时,我们通常会看到控制台中打印出的默认启动图案,这个图案就是我们要讲的 Banner。本篇文章主要介绍了 SpringBoot 项目中的 Banner 玩法...
- 如果配置了 banner,Spring Boot 会在启动时打印出来,展示应用的信息。 5. **应用上下文初始化** - 创建 `ApplicationContext`,可以选择基于 ClassPath 或基于 Bean 定义的上下文。 - 加载 `@Profile` 标注...
理解了这些基础知识后,你可以根据项目的需求灵活地定制Spring Boot的启动Banner,让应用在启动时更具个性化。记得在开发过程中,保持代码的清晰性和可维护性,避免过于复杂的Banner设计影响到主要的业务逻辑。同时...
- **打印 Banner**:根据配置情况显示启动时的 Banner 图标。 4. **创建 Spring 容器** - **创建 ApplicationContext**:根据应用类型创建对应的 `ApplicationContext`: - **非 Web 应用**:使用 `...
2. 设置应用程序的主要参数,如Banner模式、日志输出等 3. 读取META-INF/spring.factories文件中的类,用于注册ApplicationContextInitializer和ApplicationListener 4. 执行run方法,启动应用程序 ...
使用方法:直接替换本地banner.txt文件即可。
3. **修改默认Banner**:SpringBoot启动时会打印出一个包含版本信息、版权等的Banner,这对于开发者来说是一个友好的提示。"springboot-web-utils"允许你自定义这个Banner,可以根据项目需求设计个性化展示,提升...
在SpringBoot中,你可以通过提供一个名为`Banner.txt`的文本文件,或者创建一个`Banner`类来定制启动时显示的banner信息。这个信息可以包含版本号、版权信息、项目标语等,提升应用的专业感。如果选择编程方式实现,...
在`SpringApplication`类的构造方法中,我们可以看到基础值的设置,例如banner模式、日志启动信息、命令行属性等。然后,构造方法将调用`initialize`方法进行初始化。 三、initialize方法 在`initialize`方法中,...
在学习和工作中,我们经常会遇到Springboot项目的启动过程中出现的Banner问题。今天,我们将详细介绍如何自定义Springboot的Banner,并对整个过程进行验证。 首先,让我们了解一下什么是Banner。在启动项目的时候,...
在 Spring Boot 框架中,Banner 是一个非常重要的组件,它负责在应用程序启动时打印出 Spring 的 logo 及相关信息。在本文中,我们将详细介绍 Spring Boot 之 Banner 的使用示例。 一、什么是 Banner? 在 Spring ...
6. **自定义启动Banner**:SpringBoot允许开发者自定义启动时显示的Banner,可以在线生成字符艺术图,保存为`banner.txt`,放置在项目的`resources`目录下,启动时会显示这个自定义的Banner。 7. **全局配置文件**...