springboot的配置文件有哪几种格式?

author author     2023-03-17     279

关键词:

SpringBoot中的配置文件主要有三种格式,properties、yaml、和xml方式。

- 其中properties格式配置文件后缀是.properties,配置项为:server.port = 9090
- yaml格式配置文件后缀是.yml,配置项是:server.port: 9090

在SpringBoot中,使用最广泛的配置文件是yaml,yaml之所以流行,除了他配置语法精简之外,还因为yaml是一个跨编程语言的配置文件。

在SpringBoot中,除了yaml之外,properties也比较常用,但是XML几乎不用,看得出来Spring团队非常痛恨XML配置文件!认为它不是一个好的语言。

如果你对常见的配置文件有哪几种格式不熟悉,就去黑马程序员官网视频库看免费视频。
参考技术A

SpringBoot属性和配置

1. 在构建时自动扩展属性

您可以使用现有的构建配置自动扩展它们,而不是硬编码在项目的构建配置中也指定的某些属性。这在 Maven 和 Gradle 中都是可能的。

1.1. 使用 Maven 自动扩展属性

您可以使用资源过滤从 Maven 项目中自动扩展属性。如果使用spring-boot-starter-parent,则可以使用@..@占位符引用 Maven 的“项目属性” ,如以下示例所示:

app.encoding=@project.build.sourceEncoding@

app.java.version=@java.version@

如果您不使用 starter parent,则需要在<build/>您的元素中包含以下元素pom.xml:

<resources>

    <resource>

        <directory>src/main/resources</directory>

        <filtering>true</filtering>

    </resource>

</resources>

您还需要在里面包含以下元素<plugins/>:

<plugin>

    <groupId>org.apache.maven.plugins</groupId>

    <artifactId>maven-resources-plugin</artifactId>

    <version>2.7</version>

    <configuration>

        <delimiters>

            <delimiter>@</delimiter>

        </delimiters>

        <useDefaultDelimiters>false</useDefaultDelimiters>

    </configuration>

</plugin>

useDefaultDelimiters如果您$placeholder在配置中使用标准 Spring 占位符(例如),则 该属性很重要。如果该属性未设置为false,则构建可能会扩展这些属性。

1.2. 使用 Gradle 自动扩展属性

您可以通过配置 Java 插件的processResources任务来自动从 Gradle 项目扩展属性,如以下示例所示:

processResources

    expand(project.properties)

然后,您可以使用占位符来引用您的 Gradle 项目的属性,如以下示例所示:

app.name=$name

app.description=$www问答网是一款靠谱的问答社区,专注分享知识、经验、观念。在这里,所有人都能找到答案、参与讨论。

2. 外化 SpringApplication 的配置

ASpringApplication具有 bean 属性设置器,因此您可以在创建应用程序时使用其 Java API 来修改其行为。或者,您可以通过在spring.main.*. 例如,在 中application.properties,您可能有以下设置:

spring.main.web-application-type=none

spring.main.banner-mode=off

那么 Spring Boot 横幅不会在启动时打印,应用程序也不会启动嵌入式 Web 服务器。

外部配置中定义的属性会覆盖和替换 Java API 指定的值,主要来源的显着例外。主要来源是提供给SpringApplication构造函数的那些:

import org.springframework.boot.Banner;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;


@SpringBootApplication

public class MyApplication


    public static void main(String[] args)

        SpringApplication application = new SpringApplication(MyApplication.class);

        application.setBannerMode(Banner.Mode.OFF);

        application.run(args);

   


或sources(…)a 的方法SpringApplicationBuilder:

import org.springframework.boot.Banner;

import org.springframework.boot.builder.SpringApplicationBuilder;


public class MyApplication


    public static void main(String[] args)

        new SpringApplicationBuilder()

            .bannerMode(Banner.Mode.OFF)

            .sources(MyApplication.class)

            .run(args);

   


鉴于上面的例子,如果我们有以下配置:

spring.main.sources=com.example.MyDatabaseConfig,com.example.MyJmsConfig

spring.main.banner-mode=console

实际应用程序将显示横幅(由配置覆盖)并使用三个来源作为ApplicationContext. 应用程序来源是:

    MyApplication (来自代码)

    MyDatabaseConfig (来自外部配置)

    MyJmsConfig(来自外部配置)

3. 更改应用程序外部属性的位置

默认情况下,来自不同源的属性被添加到弹簧Environment以定义的顺序(参照“的features.html中的”“弹簧引导功能”部分的确切顺序)。

您还可以提供以下系统属性(或环境变量)来更改行为:

    spring.config.name( SPRING_CONFIG_NAME): 默认application为文件名的根。

    spring.config.location( SPRING_CONFIG_LOCATION):要加载的文件(例如类路径资源或 URL)。Environment为该文档设置了一个单独的属性源,它可以被系统属性、环境变量或命令行覆盖。

    无论您在环境中设置什么,Spring Boot 始终application.properties按上述方式加载。默认情况下,如果使用 YAML,则扩展名为“.yml”的文件也会添加到列表中。

    Spring Boot 会记录在该DEBUG级别加载的配置文件以及它在该级别未找到的候选文件TRACE。

Spring boot

如有不懂:请参阅Spring中国教育管理中心了解更多详情。

springboot的核心配置文件有哪几个?它们的区别是什么?

SpringBoot的核心配置文件是application和bootstrap配置文件。application配置文件这个容易理解,主要用于SpringBoot项目的自动化配置。bootstrap配置文件有以下几个应用场景。使用SpringCloudConfig配置中心时,这时需要在bootstrap配置文件中添... 查看详情

java面试之springboot篇

目录一、什么是SpringBoot?二、SpringBoot有哪些优点?三、如何在自定义端口上运行SpringBoot应用程序?四、什么是YAML?五、SpringBoot的核心配置文件有哪几个?它们的区别是什么?六、SpringBoot的配置文件有哪... 查看详情

java面试之springboot篇

目录一、什么是SpringBoot?二、SpringBoot有哪些优点?三、如何在自定义端口上运行SpringBoot应用程序?四、什么是YAML?五、SpringBoot的核心配置文件有哪几个?它们的区别是什么?六、SpringBoot的配置文件有哪... 查看详情

常见的文件类型有哪几种?

常见的文件类型有5类,具体如下:1、文本文件类型。文本文件类型:包括ASCII、MIME、.txt等格式。(1)ASCII标准使得只含有ASCII字符的文本文件可以在Unix、Macintosh、MicrosoftWindows、DOS和其它操作系统之间自由交互。(2)文本文件... 查看详情

java开发环境的搭建的理解,意外的惊喜

1.美团面试官问的SpringBoot问题什么是SpringBoot?为什么要用SpringBoot?SpringBoot的核心配置文件有哪几个?它们的区别是什么?SpringBoot的配置文件有哪几种格式?它们有什么区别?SpringBoot的核心注解是哪个... 查看详情

jquery的$.ajax方法响应数据类型有哪几种?本质上原生ajax响应数据格式有哪几种,分别对应哪个属性?

 jQuery的$.ajax方法响应数据类型有:xml、html、script、json、jsonp、text本质上原生ajax响应数据格式只有2种:xml和text,分别对应xhr.responseText和xhr.responseXML 理论上来说这道题目是应该非常简单的,但是我看到题目的时候,有点想... 查看详情

docker运行mysql优势,成功拿下大厂offer

1.美团面试官问的SpringBoot问题什么是SpringBoot?为什么要用SpringBoot?SpringBoot的核心配置文件有哪几个?它们的区别是什么?SpringBoot的配置文件有哪几种格式?它们有什么区别?SpringBoot的核心注解是哪个... 查看详情

网页文件的后缀有哪几种,分别是啥?

网页文件的后缀有哪几种,分别是什么?谢谢网页文件的后缀分别有htm、html、JSPHTML、php、ASP动态网页文件、PHP/PHP3、PHTML这几种。网页保存文件步骤:1、打开网页,然后点击左上角的文件选项。2、点击文件后,选择另存为。3、... 查看详情

透明的图片有哪几种格式····

1、BMP格式保存为ARGB8888格式。由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。2、PSD格式:PS和IconWorkshop软件可以将ICON导出透明背景。扫描仪不能直接生... 查看详情

图片格式有哪几种?

...技术A1、BMPBMP(全称Bitmap)是Windows操作系统中的标准图像文件格式,可以分成两类:设备有向量相关位图(DDB)和设备无向量相关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩... 查看详情

linux系统中有哪几种类型的文件。

Linux系统中有哪几种类型的文件。minix文件系统是linux是前身,ext是minix文件系统的扩展。主要有以下几个:ext、ext2、ext3、xiafs等。ext2是linux系统的高效、可靠的文件系统,ext3是ext2的扩展,在ext2基础上增加日志功能。xiafsminix文件... 查看详情

2022最新java面试宝典——springboot面试题(44道含答案)(代码片段)

目录1.什么是SpringBoot?2.为什么要用SpringBoot3.SpringBoot与SpringCloud区别4.SpringBoot有哪些优点?5.SpringBoot的核心注解是哪个?它主要由哪几个注解组成的?6.SpringBoot支持哪些日志框架?推荐和默认的日志框架是哪个... 查看详情

数据库中有哪几种date类型的格式?

在数据库取出来的时候就转换好selectgetdate()2006-05-1211:06:08.177我整理了一下SQLServer里面可能经常会用到的日期格式转换方法:举例如下:selectConvert(varchar(10),getdate(),120)2006-05-12selectCONVERT(varchar,getdate(),120)2006-05-1211:06:08selectreplace(replace(... 查看详情

kettle如何增量更新数据,有哪几种方式

...用的是INNODB数据库,有一个最简单有效的调整,就是将INI文件里面的下面参数调整:原始:innodb_flush_log_at_trx_commit=1调整为:innodb_flush_log_at_trx_commit=2 查看详情

mysql中有哪几种锁

查看详情

mysql中有哪几种锁

查看详情

sql事务的执行模式有哪几种

参考技术A三种:1.windows认证2.SQL用户认证3.windows+SQL用户认证 参考技术B事务模式:1.显示事务2.自动提交事务3.隐式事务 查看详情

css定位方式有哪几种?

复杂的网页布局都是通过各种网页元素灵活定位实现的,网页中的各种元素定位都有自己的特点。下面我们来看一下css的几种定位方式。  float定位(即浮动定位):这种定位方式很简单,只需规定一个浮动的方向(如:f... 查看详情