首页 > 其他分享 >【SpringBoot系列】三、SpringBoot特性_SpringApplication类(自定义Banner)

【SpringBoot系列】三、SpringBoot特性_SpringApplication类(自定义Banner)

时间:2023-05-03 17:04:36浏览次数:46  
标签:__ SpringBoot 自定义 boot SpringApplication version ___


    SpringApplication类作为SpringBoot最基本、最核心的类,在main方法中用来启动SpringBoot项目。一般情况下,只需在main方法中使用SpringApplication.run静态方法来启动项目:

package com.xcbeyond.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
 * SpringBoot启动类
 * @author xcbeyond
 * 2018年7月2日下午5:41:45
 */
@SpringBootApplication
public class SpringbootApplication {

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

关于SpringApplication有以下常用特性:

自定义启动日志logo。(自定义Banner)

    SpringBoot项目默认启动时,日志中会输出如下SpringBoot的日志logo及其版本信息:

.   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.0.0.RELEASE)

    在具体项目中,若想订制化属于自己的启动logo,当然也是可以的哟

    其实非常简单,只需在SpringBoot项目的src/main/resources/目录下新建一个banner.txt,然后将ASCII字符画复制进去,启动项目就能替换默认的logo了。例如如下banner.txt内容:

${AnsiColor.BRIGHT_GREEN}
 
                        _..._                                                   .-'''-.                             
                     .-'_..._''.                                               '   _    \             _______       
                   .' .'      '.\/|              __.....__                   /   /` '.   \    _..._   \  ___ `'.    
                  / .'           ||          .-''         '. .-.          .-.   |     \  '  .'     '.  ' |--.\  \   
                 . '             ||         /     .-''"'-.  `.\ \        / /|   '      |  '.   .-.   . | |    \  '  
   ____     _____| |             ||  __    /     /________\   \\ \      / / \    \     / / |  '   '  | | |     |  ' 
  `.   \  .'    /| |             ||/'__ '. |                  | \ \    / /   `.   ` ..' /  |  |   |  | | |     |  | 
    `.  `'    .' . '             |:/`  '. '\    .-------------'  \ \  / /       '-...-'`   |  |   |  | | |     ' .' 
      '.    .'    \ '.          .||     | | \    '-.____...---.   \ `  /                   |  |   |  | | |___.' /'  
      .'     `.    '. `._____.-'/||\    / '  `.             .'     \  /                    |  |   |  |/_______.'/   
    .'  .'`.   `.    `-.______ / |/\'..' /     `''-...... -'       / /                     |  |   |  |\_______|/    
  .'   /    `.   `.           `  '  `'-'`                      |`-' /                      |  |   |  |              
 '----'       '----'                                            '..'                       '--'   '--'              
 
${AnsiColor.BRIGHT_RED}
Application Version: ${application.version}${application.formatted-version}
Spring Boot Version: ${spring-boot.version}${spring-boot.formatted-version}

启动后的效果如下:

【SpringBoot系列】三、SpringBoot特性_SpringApplication类(自定义Banner)_spring

关于banner.txt中可以使用如下占位符:

变量

描述

${application.version}

MANIFEST.MF中声明的应用版本号,例如Implementation-Version: 1.0会打印1.0

${application.formatted-version}

MANIFEST.MF中声明的被格式化后的应用版本号(被括号包裹且以v作为前缀),用于显示,例如(v1.0)

${spring-boot.version}

当前Spring Boot的版本号,例如1.4.1.RELEASE

${spring-boot.formatted-version}

当前Spring Boot被格式化后的版本号(被括号包裹且以v作为前缀), 用于显示,例如(v1.4.1.RELEASE)

${Ansi.NAME}(或${AnsiColor.NAME},${AnsiBackground.NAME}, ${AnsiStyle.NAME})

NAME代表一种ANSI编码,具体详情查看AnsiPropertySource

${application.title}

MANIFEST.MF中声明的应用title,例如Implementation-Title: MyApp会打印MyApp

ASCII字符画生成工具:

如果让我们手动编辑这些字符画,显然是非常麻烦的一件事,可借助如下工具完成:

【SpringBoot系列】三、SpringBoot特性_SpringApplication类(自定义Banner)_版本号_02







标签:__,SpringBoot,自定义,boot,SpringApplication,version,___
From: https://blog.51cto.com/xcbeyond/6241402

相关文章

  • 【SpringBoot 系列】一、SpringBoot项目搭建
    一、引言:什么是springboot?    SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是springboot其实不是什么新的框架,它默认配......
  • java基于springboot+vue非前后端分离的影城管理系统、影院销售管理系统,附源码+文档+PP
    1、项目介绍本影城管理系统主要包括二大功能模块,即用户功能模块和管理员功能模块。(1)管理员模块:系统中的核心用户是管理员,管理员登录后,通过管理员功能来管理后台系统。主要功能有:首页、个人中心、用户管理、电影类型管理、放映厅管理、电影信息管理、购票统计管理、系统管理、订......
  • idea创建SpringBoot项目报错For artifact {mysql:mysql-connector-java:null:jar}: Th
    Forartifact{mysql:mysql-connector-java:null:jar}:Theversioncannotbeempty.报错如图:pom.xml文件如图:添加版本号:就好了......
  • Springboot 之 Mybatis-plus 多数据源
    简介Mybatis-puls多数据源的使用,采用的是官方提供的dynamic-datasource-spring-boot-starter包的@DS注解,具体可以参考官网:https://gitee.com/baomidou/dynamic-datasource-spring-boot-starterpom.xml文件引入如下依赖主要引入dynamic-datasource-spring-boot-starter包<project......
  • PowerShell-自定义的配置文件
    PowerShell5.1一般Windows10自带的是这个版本的PowerShell,这个版本的自定义配置文件的文件编码要保存为ANSI才行。PowerShell7这个是通过github另外下载的,这个版本的自定义配置文件的文件编码要保存为utf-8才行。 配置文件代码其实也没啥,主要加了一个时间显示和我可能用......
  • java基于springboot+vue前后端分离的超市进销存系统管理系统、超市管理系统,附源码+数
    1、项目介绍超市进销存系统,通过这个系统能够满足超市进销存系统的管理及员工的超市进销存管理功能。系统的主要功能包括:首页、个人中心、员工管理、客户管理、供应商管理、承运商管理、仓库信息管理、商品类别管理、商品信息管理、采购信息管理、入库信息管理、出库信息管理、销......
  • SpringBoot Maven打jar包提示no main manifest attribute springboot
    SpringBoot项目打jar包运行jar包提示:nomainmanifestattributespringbootpom依赖:<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-m......
  • springboot整合rabbbitmq--注解方式+yml配置
    maven依赖<!--rabbitmq--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency><!--mail依赖-->......
  • SpringBoot定义优雅全局统一Restful API 响应框架
    假如现在有一个Java项目,老板让你做项目组长,定义项目基础框架,系统技术架构选型,你应该如何设计一个规范的统一的RestfulAPI响应框架呢思考目前项目开发,都是基于前后端分离模式开发的,基于后端模板引擎那一套,可能已经不适用一些项目开发流程,和当下开发模式了,尤其在要写比......
  • SpringBoot定义优雅全局统一Restful API 响应框架
    假如现在有一个Java项目,老板让你做项目组长,定义项目基础框架,系统技术架构选型,你应该如何设计一个规范的统一的RestfulAPI响应框架呢思考目前项目开发,都是基于前后端分离模式开发的,基于后端模板引擎那一套,可能已经不适用一些项目开发流程,和当下开发模式了,尤其在要写......