下载Spring-Boot源码,目录结构spring-boot-2.1.0.M2\spring-boot-2.1.0.M2\spring-boot-project\spring-boot\src\main\java\org\springframework\boot

Banner为接口具体实现类二个,https://docs.spring.io/spring-boot/docs/2.0.5.RELEASE/api/

一个存放图片资源,一个存放资源。

package com.jachs.jurisdiction.Jurisdiction;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader; import org.springframework.boot.ImageBanner;
import org.springframework.boot.ResourceBanner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.core.io.InputStreamResource; @SpringBootApplication
public class JurisdictionApplication{
/*
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
System.out.println("in");
try {
builder.banner(new ImageBanner(new InputStreamResource(new FileInputStream("C:\\Users\\Jachs\\Desktop\\a.png"))));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return builder.sources(JurisdictionApplication.class);
}
*/
public static void main(String[] args) throws FileNotFoundException {
// SpringApplication.run(LoginAction.class, args);
// SpringApplication.run(JurisdictionApplication.class, args);
SpringApplication application = new SpringApplication(JurisdictionApplication.class);
application.setBanner(new ImageBanner(new InputStreamResource(new FileInputStream("C:\\Users\\Jachs\\Desktop\\a.png"))));
// application.setBanner(new ResourceBanner(new InputStreamResource(new FileInputStream("C:\\Users\\Jachs\\Desktop\\s.txt"))));
application.run(args);
}
}

实现ImageBanner是打印的为图片二进制,为实现自己独特的打印采用ResourceBanner指定一个文本写入类容初始化时打印。

************************
************************
*******HellWord*********
************************
************************
-- ::21.462 INFO --- [ main] c.j.j.J.JurisdictionApplication : Starting JurisdictionApplication on ZhanChaoHan with PID (C:\Users\Jachs\Downloads\Jurisdiction\target\classes started by zhanchaohan in C:\Users\Jachs\Downloads\Jurisdiction)
-- ::21.467 INFO --- [ main] c.j.j.J.JurisdictionApplication : No active profile set, falling back to default profiles: default
-- ::23.480 INFO --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): (http)
-- ::23.517 INFO --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
-- ::23.517 INFO --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/9.0.
-- ::23.531 INFO --- [ main] o.a.catalina.core.AprLifecycleListener : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [D:\jdk-8u5-windows-x64\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:/jdk-8u5-windows-x64/bin/../jre/bin/server;D:/jdk-8u5-windows-x64/bin/../jre/bin;D:/jdk-8u5-windows-x64/bin/../jre/lib/amd64;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.\;F:\MySql\bin;D:\php-7.0.\php-7.0.;D:\php-7.0.\php-7.0.\ext;F:\TortoiseSVN\bin;F:\VisualSVN-Server-3.5.-x64.msi\VisualSVN Serve\bin;E:\BaiDu\C#\运行Java\ikvm-7.2.4630.5\bin;D:\aspectj1.\bin;D:\cygwin\bin;F:\Git\cmd;E:\BaiDu\JAVA\java\Apache\Maven\gradle-4.6-bin\gradle-4.6\bin;D:\jdk-8u5-windows-x64\bin;E:\BaiDu\JAVA\java\Apache\Maven\apache-maven-3.5.-bin\apache-maven-3.5.\bin;F:\es\zookeeper\bin;F:\es\kafka-eagle-bin-1.2.\kafka-eagle-bin-1.2.\kafka-eagle-web-1.2.-bin\bin;E:\sts-bundle\sts-3.8..RELEASE;;.]
-- ::23.720 INFO --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
-- ::23.720 INFO --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in ms
-- ::23.766 INFO --- [ main] o.s.b.w.servlet.ServletRegistrationBean : Servlet dispatcherServlet mapped to [/]
-- ::23.772 INFO --- [ main] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/*]
2018-09-14 16:25:23.773 INFO 5940 --- [ main] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2018-09-14 16:25:23.773 INFO 5940 --- [ main] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'formContentFilter' to: [/*]
2018-09-14 16:25:23.774 INFO 5940 --- [ main] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*]
2018-09-14 16:25:23.859 INFO 5940 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2018-09-14 16:25:24.699 INFO 5940 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2018-09-14 16:25:24.706 INFO 5940 --- [ main] c.j.j.J.JurisdictionApplication : Started JurisdictionApplication in 4.06 seconds (JVM running for 4.971)
2018-09-14 16:25:25.447 INFO 5940 --- [on(2)-127.0.0.1] inMXBeanRegistrar$SpringApplicationAdmin : Application shutdown requested.
2018-09-14 16:25:25.452 INFO 5940 --- [on(2)-127.0.0.1] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'

默认打印采用的是SpringBootBanner代码如下,可以自己改造

/*
* Copyright 2012-2018 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ package org.springframework.boot; import java.io.PrintStream; import org.springframework.boot.ansi.AnsiColor;
import org.springframework.boot.ansi.AnsiOutput;
import org.springframework.boot.ansi.AnsiStyle;
import org.springframework.core.env.Environment; /**
* Default Banner implementation which writes the 'Spring' banner.
*
* @author Phillip Webb
*/
class SpringBootBanner implements Banner { private static final String[] BANNER = { "",
" . ____ _ __ _ _",
" /\\\\ / ___'_ __ _ _(_)_ __ __ _ \\ \\ \\ \\",
"( ( )\\___ | '_ | '_| | '_ \\/ _` | \\ \\ \\ \\",
" \\\\/ ___)| |_)| | | | | || (_| | ) ) ) )",
" ' |____| .__|_| |_|_| |_\\__, | / / / /",
" =========|_|==============|___/=/_/_/_/" }; private static final String SPRING_BOOT = " :: Spring Boot :: "; private static final int STRAP_LINE_SIZE = ; @Override
public void printBanner(Environment environment, Class<?> sourceClass,
PrintStream printStream) {
for (String line : BANNER) {
printStream.println(line);
}
String version = SpringBootVersion.getVersion();
version = (version != null) ? " (v" + version + ")" : "";
StringBuilder padding = new StringBuilder();
while (padding.length() < STRAP_LINE_SIZE
- (version.length() + SPRING_BOOT.length())) {
padding.append(" ");
} printStream.println(AnsiOutput.toString(AnsiColor.GREEN, SPRING_BOOT,
AnsiColor.DEFAULT, padding.toString(), AnsiStyle.FAINT, version));
printStream.println();
} }

不想显示初始化Banner时。

application.setBannerMode(Mode.OFF);
Mode说明

该枚举三个CONSOLE打印到控制台,LOG打印到log日志,OFF不打印。

Spring-Boot Banner的更多相关文章

  1. 如何定制 Spring Boot 的 Banner?

    相信用过 Spring Boot 的朋友们一定在启动日志中见过类似如下的内容,比如在启动 Spring Boot 时,控制台默认会打印 Spring Boot Logo 以及版本信息,这是 Sprin ...

  2. Spring Boot Reference Guide

    Spring Boot Reference Guide Authors Phillip Webb, Dave Syer, Josh Long, Stéphane Nicoll, Rob Winch,  ...

  3. Spring boot Sample 002之spring-boot-banner

    一.环境 1.1.Idea 2020.1 1.2.JDK 1.8 二.目的 学习Spring Boot Banner自定义的操作   三.步骤 3.1.点击File -> New Project ...

  4. Spring Boot 2.0(二):Spring Boot 2.0尝鲜-动态 Banner

    Spring Boot 2.0 提供了很多新特性,其中就有一个小彩蛋:动态 Banner,今天我们就先拿这个来尝尝鲜. 配置依赖 使用 Spring Boot 2.0 首先需要将项目依赖包替换为刚刚发 ...

  5. Spring Boot自定义Banner

    在2016年的最后一天,借用Spring Boot的Banner向各位程序猿同仁们问候一声:Happy New Year. 接下来我们就来介绍一下这个轻松愉快的自定义banner功能.实现的方式非常简 ...

  6. (转)Spring Boot 2 (二):Spring Boot 2 尝鲜-动态 Banner

    http://www.ityouknow.com/springboot/2018/03/03/spring-boot-banner.html Spring Boot 2.0 提供了很多新特性,其中就有 ...

  7. Spring boot自定义启动字符画(banner)

    spring boot项目启动时会打印spring boot的ANSI字符画,可以进行自定义. 如何自定义 实现方式非常简单,我们只需要在Spring Boot工程的/src/main/resourc ...

  8. Spring Boot 2.0尝鲜-动态 Banner

    配置依赖 使用 Spring Boot 2.0 首先需要将项目依赖包替换为刚刚发布的 2.0 RELEASE,现在网站https://start.spring.io/也将 Spring Boot 2. ...

  9. Spring Boot笔记之自定义启动banner

    控制banner内容 Spring Boot启动的时候默认的banner是spring的字样,看多了觉得挺单调的,Spring Boot为我们提供了自定义banner的功能. 自定义banner只需要 ...

  10. Spring Boot 2 (二):Spring Boot 2 动态 Banner

    Spring Boot 2 (二):Spring Boot 2 动态 Banner Spring Boot 2.0 提供了很多新特性,其中就有一个小彩蛋:动态 Banner. 一.配置依赖 使用 Sp ...

随机推荐

  1. 【vue】vue +element 搭建项目,$createElement使用

    语法: 它有三个参数 第一个:html标签名 第二个:配置的数据对象 第三个:内容 应用1:自定义弹窗 html: <el-button type="text" @click ...

  2. How to get Pycharm

    PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如:代码跳转.智能提示.自动完成.单元测试.版本控制.此外,该IDE提供了一些高级功能, ...

  3. (5)HomeAssistant mqtt-433-esp8266-arduino-传感器

    Home Assistant Integrations使用 https://github.com/1technophile/OpenMQTTGateway/wiki/Home-assistant-in ...

  4. ActiveMQ的两种消息模式,主题、队列

    1.开发的模式流程如下: 2.队列模式Queue 如果生产者产生了100条消息,那么两个消费同时在的话,会分工合作来接收这100条消息.就是每个消费者接收到50条来处理. 3.主题模式topic 如果 ...

  5. Fastcgi工作原理

    FastCGI是一个可伸缩的,高速地在HTTP server和动态脚本语言间的接口 FastCGI优点 这种方式可以让HTTP服务器专一的处理静态请求或者将动态脚本服务器返回给客户端,很大程度上提高了 ...

  6. 一道很有意思的java线程题

    这几天看结城浩的<java多线程设计模式>,跟着做一些习题,有几道题目很有意思,记录下自己的体会. 首先是题目(在原书212页,书尾有解答): public class Main { pu ...

  7. echarts 图例显示到右边

    原: legend: { data:['同龄普通孩子','已具备技能','已泛化技能','已掌握技能','学习中'] }, 改: legend: { data:['同龄普通孩子','已具备技能','已 ...

  8. SQL Server-索引故事的遥远由来,原来是这样的?(二十八)

    前言 前段时间工作比较忙,每天回来也时不时去写有关ASP.NET Core的文章,无论是项目当中遇到的也好还是自学的也好都比较严谨的去叙述,喜欢分享,乐于分享这是我一直以来的态度,当然从中也会有些许错 ...

  9. python第一章:简介与安装--小白博客

    Python简介 Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项 ...

  10. 剑指Offer-- 翻转链表 (python版)

    输入一个链表,反转链表后,输出链表的所有元素. # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val ...