Spring Boot 进阶之Banner

  Spring Boot 在启动项目时,控制台会打印一个Springlogo。如果不做任何配置,则会打印出以下信息:

.   ____          _            __ _ _

 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \

( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \

 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )

  '  |____| .__|_| |_|_| |_\__, | / / / /

 =========|_|==============|___/=/_/_/_/

该信息来源于SpringBootBanner类的静态常量BANNER,该属性是一个字符串数组,不指定任何banner属性时,控制台默认输出该数组数据。我们可以通过Spring Boot提供的强大配置功能来改变banner的输出。

1、通过代码设置

  在main方法中创建SpringApplication对象,通过该实例对象设置banner属性,

public static void main(String[] args) {
    SpringApplication app = new SpringApplication(SpringBootSimpleApplication.class);
    app.setBanner(new Banner() {
        @Override
	public void printBanner(Environment environment, Class<?> sourceClass, PrintStream out) {
	    out.print("\n\n\tSpring Boot Sample App!\n\n".toUpperCase());
	}
    });
    app.run(args);
}

运行该main方法,控制台将打印出自定义的banner信息:

 



    SPRING BOOT SAMPLE APP!

2017-04-06 17:10:14.954  INFO 9808 --- [           main] the.spring.SpringBootSimpleApplication

……

2、通过定义文本文件

  可以在http://patorjk.com网站的“Text to ASCII Art Generator”中生成个性化的文本作为项目的banner,并保存在banner.txt文件中,然后将banner.txt文件放在项目的src/main/resources目录下,项目启动时Spring Boot会加载该路径下的banner文件,另外该属性文件会覆盖main方法中的设置,效果如下:

 ___          _             ___           _
/ __|_ __ _ _(_)_ _  __ _  | _ ) ___  ___| |_
\__ \ '_ \ '_| | ' \/ _` | | _ \/ _ \/ _ \  _|
|___/ .__/_| |_|_||_\__, | |___/\___/\___/\__|
    |_|             |___/

2017-04-06 17:29:26.012  INFO 1668 --- [           main] the.spring.SpringBootSimpleApplication

……

Spring Boot默认加载resources目录下的banner.txt(默认文件名)文件,运行时也可以通过设置banner.location属性值来加载banner文件:--banner.location=classpath:/META-INF/banner.txt,同样可以在application.properties文件中设置banner.location=classpath:/META-INF/banner.txt,利用属性值配置时,banner.txt的名字可以自定义

3、关闭banner显示

在程序中可以使用app.setBannerMode(Mode.OFF);来关闭banner,利用属性值设置则为:spring.main.banner-mode=off

 

Spring Boot进阶包括以下几个方面: 1. 深入理解Spring Boot:了解Spring Boot的核心原理和机制,包括自动配置、起步依赖、条件注解等。可以通过阅读官方文档、参考书籍以及查阅源码来进行学习。 2. 定制化配置:掌握如何通过自定义配置文件、属性注入、配置类等方式来定制化配置Spring Boot应用。例如,可以通过@ConfigurationProperties注解来读取外部的配置文件并注入到Bean中。 3. 微服务与云原生:学习如何使用Spring Boot构建微服务架构,并结合Docker、Kubernetes等云原生技术进行部署和管理。了解服务注册与发现、负载均衡、断路器等相关概念和工具,例如使用Spring Cloud、Netflix OSS等框架。 4. 性能优化与监控:掌握Spring Boot应用的性能优化技巧,包括数据库连接池的配置、缓存技术的选择和使用、异步编程等。此外,了解如何使用监控工具和指标来对Spring Boot应用进行监控和调优。 5. 安全与认证:学习如何在Spring Boot应用中添加安全机制,保护应用和用户的数据安全。可以使用Spring Security框架来进行认证和授权,同时还可以了解其他的安全相关技术,如OAuth2、JWT等。 6. 集成测试与持续集成:了解如何编写集成测试,并结合持续集成工具进行自动化测试和部署。可以使用工具如JUnit、Mockito、Jenkins等来实现自动化测试和持续集成的流程。 希望以上内容对你的Spring Boot进阶有所帮助!如有更多问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值