https://www.jianshu.com/p/a53f324c92f2
我們在啟動 SpringBoot 時,控制臺會打印 SpringBoot Logo 以及版本信息;這個操作是 SpringBoot 固定的還是可配置(自定義)的?
. ____ _ __ _ _/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) )' |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot :: (v1.5.12.RELEASE)
帶著這個疑問,翻閱了一下源碼發現這個操作還真可以自定義,SpringBoot 有一個接口org.springframework.boot.Banner
?是專門來做這個操作的。我們可以實現這個接口來自定義打印 Banner 信息;但是不推薦自己去寫,因為這個不是什么重要的功能,沒必要把時間花在這上面,既然 SpringBoot 提供了這個功能,肯定為我們實現了。
org.springframework.boot.ResourceBanner
javaweb前端框架。文本格式,SpringBoot 會讀取配置項
banner.txt
和banner.location
,從配置項中獲取真實的文件地址;如果配置中沒有配置,會把配置項作為文件去加載;
org.springframework.boot.ImageBanner
圖片格式,SpringBoot 加載配置項
banner.image.location
,從配置項中獲取真實的路徑,SpringBoot 會根據配置項的路徑加載文件。
如果沒有配置banner.image.location
,轉而依次加載banner.gif
、banner.jpg
、?banner.png
這三個中存在的文件;
如果上面兩種都沒有配置,SpringBoot 就會加載默認的 Banner;也就是文章開頭介紹的方式。
接下來我會介紹在文本格式(ResourceBanner);
SpringBootVFS,環境:
操作系統:MacOS
SpringBoot版本:1.5.12.RELEASE
創建啟動類:src/main/java/{package}/Application.java
@SpringBootApplication
public class Application {public static void main(String[] args) {// 啟動顏色格式化// 這不是唯一啟動顏色格式的方式,有興趣的同學可以查看源碼/*** 1. AnsiOutput.setEnabled(AnsiOutput.Enabled.ALWAYS);* 2. 在`src/main/resources`目錄下新建文件`application.properties`,* 內容為:`spring.output.ansi.enabled=always`* * 重要:如果配置第二種方式,第一種方式就不會起作用*/AnsiOutput.setEnabled(AnsiOutput.Enabled.ALWAYS);new SpringApplicationBuilder(Application.class)//.main(SpringVersion.class) // 這個是為了可以加載 Spring 版本.bannerMode(Banner.Mode.CONSOLE)// 控制臺打印.run(args);}
}
創建Banner文件src/main/resource/banner.txt
${AnsiColor.BRIGHT_YELLOW}// _ooOoo_ //
// o8888888o //
// 88" . "88 //
// (| ^_^ |) //
// O\ = /O //
// ____/`---'\____ //
// .' \\| |// `. //
// / \\||| : |||// \ //
// / _||||| -:- |||||- \ //
// | | \\\ - /// | | //
// | \_| ''\---/'' | | //
// \ .-\__ `-` ___/-. / //
// ___`. .' /--.--\ `. . ___ //
// ."" '< `.___\_<|>_/___.' >'"". //
// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
// \ \ `-. \_ __\ /__ _/ .-` / / //
// ========`-.____`-.___\_____/___.-`____.-'======== //
// `=---=' //
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
// 佛祖保佑 永不宕機 永無BUG //${AnsiColor.BRIGHT_RED}
Application Version: ${application.version}${application.formatted-version}
Spring Boot Version: ${spring-boot.version}${spring-boot.formatted-version}
從上面的內容中可以看到,還使用了一些屬性設置:
org.springframework.boot.ansi.AnsiColor
效果
css框架bootstrap,
spring-boot-banner.png
從效果圖看,我們定義的文本最后被上了顏色,顏色是如何轉換的,可以參考:顏色特效
如果讓我們手工的來編輯這些字符畫,顯然是一件非常困難的差事。所以,我們可以借助下面這些工具,輕松地根據文字或圖片來生成用于Banner輸出的字符畫。
參考來源:
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态