前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >微服务架构之Spring Boot(二十一)

微服务架构之Spring Boot(二十一)

作者头像
用户1289394
发布2022-04-07 19:57:43
发布2022-04-07 19:57:43
4060
举报
文章被收录于专栏:Java学习网Java学习网

23.2自定义横幅

通过将 banner.txt 文件添加到类路径或将 spring.banner.location 属性设置为此类文件的位置,可以更改启动时打印的横幅。如果文件的

编码不是UTF-8,则可以设置 spring.banner.charset 。除了文本文件,您还可以将 banner.gif , banner.jpg 或 banner.png 图像文件添

加到类路径或设置 spring.banner.image.location 属性。图像将转换为ASCII艺术表示,并打印在任何文本横幅上方。

在 banner.txt 文件中,您可以使用以下任何占位符:

表23.1。横幅变量

变量 描述

${application.version} 应用程序的版本号,如 MANIFEST.MF 中

声明的那样。例

如, Implementation-Version: 1.0 打

印为 1.0 。

${application.formatted-version} 应用程序的版本号,在 MANIFEST.MF 中

声明并格式化以显示(用括号括起来并

以 v 为前缀)。例如 (v1.0) 。

${spring-boot.version} 您正在使用的Spring Boot版本。例

如 2.1.1.RELEASE 。

如果要以编程方式生成横幅,可以使用 SpringApplication.setBanner(… ) 方法。使用 org.springframework.boot.Banner

接口并实现您自己的 printBanner() 方法。

您还可以使用 spring.main.banner-mode 属性来确定是否必须在 System.out ( console )上打印横幅,发送到配置的记录器( log ),或

者根本不产生横幅( off )。

打印的横幅以下列名称注册为单身bean:springBootBanner 。

YAML将 off 映射到 false ,因此如果要在应用程序中禁用横幅,请务必添加引号,如以下示例所示:

spring:

main:

banner-mode: "off"

23.3自定义SpringApplication

如果 SpringApplication 默认值不符合您的口味,您可以改为创建本地实例并对其进行自定义。例如,要关闭横幅,您可以写:

public static void main(String[] args) {

SpringApplication app = new SpringApplication(MySpringConfiguration.class);

app.setBannerMode(Banner.Mode.OFF);

app.run(args);

}

传递给 SpringApplication 的构造函数参数是Spring beans的配置源。在大多数情况下,这些是对 @Configuration 类的引用,

但它们也可以是对XML配置或应扫描的包的引用。

也可以使用 application.properties 文件配置 SpringApplication 。有关详细信息,请参见第24章,外部化配置。

有关配置选项的完整列表,请参阅 SpringApplication Javadoc。

23.4 Fluent Builder API

如果您需要构建 ApplicationContext 层次结构(具有父/子关系的多个上下文)或者您更喜欢使用“流畅”构建器API,则可以使

用 SpringApplicationBuilder 。

SpringApplicationBuilder 允许您将多个方法调用链接在一起,并包含允许您创建层次结构的 parent 和 child 方法,如以下示例所示:

new SpringApplicationBuilder()

.sources(Parent.class)

.child(Application.class)

创建 ApplicationContext 层次结构时存在一些限制。例如,Web组件必须包含在子上下文中,并且父/子上下文使用相同

的 Environment 。有关详细信息,请参阅 SpringApplicationBuilder Javadoc。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档