• Spring-Boot Banner


    下载Spring-Boot源码,目录结构spring-boot-2.1.0.M2spring-boot-2.1.0.M2spring-boot-projectspring-bootsrcmainjavaorgspringframeworkoot

    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*********
    ************************
    ************************
    2018-09-14 16:25:21.462  INFO 5940 --- [           main] c.j.j.J.JurisdictionApplication          : Starting JurisdictionApplication on ZhanChaoHan with PID 5940 (C:UsersJachsDownloadsJurisdiction	argetclasses started by zhanchaohan in C:UsersJachsDownloadsJurisdiction)
    2018-09-14 16:25:21.467  INFO 5940 --- [           main] c.j.j.J.JurisdictionApplication          : No active profile set, falling back to default profiles: default
    2018-09-14 16:25:23.480  INFO 5940 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
    2018-09-14 16:25:23.517  INFO 5940 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
    2018-09-14 16:25:23.517  INFO 5940 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/9.0.12
    2018-09-14 16:25:23.531  INFO 5940 --- [           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-x64in;C:WindowsSunJavain;C:Windowssystem32;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:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;F:MySqlin;D:php-7.0.10php-7.0.10;D:php-7.0.10php-7.0.10ext;F:TortoiseSVNin;F:VisualSVN-Server-3.5.6-x64.msiVisualSVN Servein;E:BaiDuC#运行Javaikvm-7.2.4630.5in;D:aspectj1.8in;D:cygwinin;F:Gitcmd;E:BaiDuJAVAjavaApacheMavengradle-4.6-bingradle-4.6in;D:jdk-8u5-windows-x64in;E:BaiDuJAVAjavaApacheMavenapache-maven-3.5.3-binapache-maven-3.5.3in;F:eszookeeperin;F:eskafka-eagle-bin-1.2.3kafka-eagle-bin-1.2.3kafka-eagle-web-1.2.3-binin;E:sts-bundlests-3.8.4.RELEASE;;.]
    2018-09-14 16:25:23.720  INFO 5940 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
    2018-09-14 16:25:23.720  INFO 5940 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 2187 ms
    2018-09-14 16:25:23.766  INFO 5940 --- [           main] o.s.b.w.servlet.ServletRegistrationBean  : Servlet dispatcherServlet mapped to [/]
    2018-09-14 16:25:23.772  INFO 5940 --- [           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 = 42;
    
        @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不打印。
  • 相关阅读:
    [BAT] 通过批处理删除7天前的报告,并删除当前目录下的空文件夹
    Codeforces Round #361 (Div. 2) A
    Codeforces Round #359 (Div. 2) C
    Codeforces Round #359 (Div. 2) B
    Codeforces Round #359 (Div. 2) A
    Codeforces Round #357 (Div. 2) C
    Codeforces Round #357 (Div. 2) B
    Codeforces Round #357 (Div. 2) A
    Codeforces Round #356 (Div. 2) C
    Codeforces Round #356 (Div. 2) B
  • 原文地址:https://www.cnblogs.com/zhanchaohan/p/9647458.html
Copyright © 2020-2023  润新知