gpt4 book ai didi

Spring Boot 中的自定义Banners

转载 作者:知者 更新时间:2024-03-11 23:50:59 26 4
gpt4 key购买 nike

1。概述

默认情况下,Spring Boot 带有一个Banners,该Banners会在应用程序启动后立即显示。

在本文中,我们将学习如何创建自定义Banners并在 Spring Boot 应用程序中使用它。

通过 SPRING INITIALIZR 引导您的应用程序

Spring Initializr. 的帮助下创建您的 Spring-Boot 项目

标准 Maven 项目结构

以下是我们将逐步开发的完整项目结构。

2. 创建自定义Banners

在开始之前,我们需要创建将在应用程序启动时显示的自定义Banners。我们可以从头开始创建自定义Banners,也可以使用各种工具来为我们做这件事。

除了文本文件,您还可以将 banner.gifbanner.jpgbanner.png 图像文件添加到类路径或设置 spring.banner.image.location 属性。图像被转换为​​ ASCII 艺术表示并打印在任何文本Banners上方。

通过运行应用程序对其进行测试,默认Banners将替换为以下内容。

在应用程序属性文件中配置Banners位置

我们可以在应用程序属性文件中配置Banners,包括文本和图像。这样,我们可以选择从任何其他位置以其他名称加载文本和图像文件。 Spring Boot 提供了以下属性来在 application.properties 文件中配置位置或名称。

spring.banner.location=classpath:/path/to/banner/bannername.txt
spring.banner.image.location=classpath:/path/to/banner/bannername.gif

Banners变量

如果您想在应用程序启动时显示一些带有Banners的附加信息,您可以使用Banners变量来做一些事情。它们可以用作您的 banner.txt 中的占位符。

变量 说明
${application.version} 您的应用程序的版本号,在 MANIFEST.MF 中声明。例如,Implementation-Version: 1.0 打印为 1.0
${application.formatted-version} 您的应用程序的版本号,在 MANIFEST.MF 中声明并格式化为显示(用括号括起来并以 v 为前缀)。例如,(v1.0)
${spring-boot.version} 您正在使用的 Spring Boot 版本。例如,2.2.0.RELEASE
${spring-boot.formatted-version} 您正在使用的 Spring Boot 版本,已格式化以供显示(用括号括起来并以 v 为前缀)。例如,(v2.2.0.RELEASE)
${Ansi.NAME}(或 ${AnsiColor.NAME}${AnsiBackground.NAME}${AnsiStyle.NAME} 其中,NAME 是 ANSI 转义码的名称。有关详细信息,请参阅 AnsiPropertySource
${application.title} MANIFEST.MF 中声明的应用程序的标题。例如,Implementation-Title: MyApp 打印为 MyApp

如果您想以编程方式生成Banners,可以使用 SpringApplication.setBanner(…​) 方法。使用 org.springframework.boot.Banner 接口并实现您自己的 printBanner() 方法。

打印的Banners以以下名称注册为单例 bean:springBootBanner

Turn – 使用属性文件关闭Banners

spring.main.banner-mode = off

关闭 - 以编程方式关闭Banners

public static void main(String[] args) {
    SpringApplication app = new SpringApplication(SpringBootCustomBannerApplication.class);
    app.setBannerMode(Banner.Mode.OFF);
    app.run(args);
}

3. **以编程方式生成Banners

是的,您也可以以编程方式更改Banners。为此 spring boot 提供了 org.springframework.boot.Banne***r 接口。覆盖 printBanner() 方法并提供您自己的实现。让我们在“com.dailycodebuffer.example.SpringBootCustomBanner”包中创建“MyCustomBanner.java***”。

public class MyCustomBanner implements Banner {

    @Override
    public void printBanner(Environment environment, Class<?> sourceClass, PrintStream out) {
        out.println("================================================");
        out.println("      ##  I LOVE DAILY CODE BUFFER  ##        ");
        out.println("================================================");
    }
}

现在,您必须使用 SpringApplication. 注册上面的Banners类“MyCustomBanner”。为此,请使用 SpringApplication.setBanner(...​) 方法,如下所示。

@SpringBootApplication
public class SpringBootCustomBannerApplication {

	public static void main(String[] args) {
		SpringApplication application = new SpringApplication(SpringBootCustomBannerApplication.class);
		application.setBanner(new MyCustomBanner());
		application.run(args);
	}

}

可以使用不同的其他模式,例如在控制台上打印Banners的 Banner.Mode.CONSOLE、在日志上打印的 Banner.Mode.LOG 等。

4.结论

在本文中,我们看到了使用我们自己的自定义Banners代替默认Banners的不同方法。我希望你喜欢这个。如果您喜欢我们的工作,请订阅我们的博客,如果有任何问题,请在下面的评论部分告诉我们
Github

Please find the codefor this tutorial here.

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com