zoukankan      html  css  js  c++  java
  • 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不打印。
  • 相关阅读:
    Windows Server 2003 SP2(32位) 中文版 下载地址 光盘整合方法
    用Recycle()方法对Java对象的重要性
    Lotus中千奇百怪的 $$
    Developing a simple application using steps "User Decision" and "Mail"(1) 沧海
    沟通中的情绪管理(演讲稿) 沧海
    人只有在压力之下,才可能成功,没做一件事,都必须成功,不许言败 沧海
    什么是IDOC,以及IDOC的步骤 沧海
    VS2008 Professional Edition CHS中的deffactory.dat读取错误 沧海
    Including custom text in the step "User Decision" 沧海
    SAP Upgrade Strategy 沧海
  • 原文地址:https://www.cnblogs.com/zhanchaohan/p/9647458.html
Copyright © 2011-2022 走看看