📌  相关文章
📜  Spring Boot – application.yml/application.yaml 文件

📅  最后修改于: 2022-05-13 01:55:06.413000             🧑  作者: Mango

Spring Boot – application.yml/application.yaml 文件

Spring 广泛用于创建可扩展的应用程序。对于 Web 应用程序 Spring 提供。在 Spring Boot 中,每当我们在 spring starter 或 IDE(Eclipse 或 STS)中创建一个新的 Spring Boot 应用程序时,一个文件位于src/main/resources文件夹中,名为application.properties文件,如下图所示:

因此,在 Spring Boot 应用程序中, application.properties文件用于将应用程序相关的属性写入该文件。该文件包含在不同环境中运行应用程序所需的不同配置,并且每个环境将具有由它定义的不同属性。在应用程序属性文件中,我们定义了每种类型的属性,例如更改端口、数据库连接、与 eureka 服务器的连接等等。但有时另一个文件位于src/main/resources文件夹中,名为application.yml/application.yaml文件,该文件中的代码以分层格式显示,如下图所示:

那么这个application.yml文件是什么? YAML 代表 Yet Another Markup Language 或 YAML 不是标记语言(递归首字母缩写词),它强调 YAML 用于数据,而不是文档。 YAML 是一种数据序列化语言,常用于编写配置文件。因此 Spring Boot 中的 YAML 配置文件提供了一种非常方便的语法,用于以分层格式存储日志记录配置。 application.properties文件不那么可读。所以大多数时候开发人员会选择 application.yml 文件而不是 application.properties 文件。 YAML 是 JSON 的超集,因此是一种用于指定分层配置数据的非常方便的格式。 YAML 更具可读性,有利于开发人员读/写配置文件。

现在让我们通过提出不同的示例来查看一些示例,以便更好地理解,如下所示:

  1. 更改端口号
  2. 定义我们的应用程序的名称
  3. 连接 MySQL 数据库
  4. 连接 H2 数据库
  5. 连接 MongoDB 数据库
  6. 连接 Eureka 服务器

示例 1:更改端口号

有时当你运行你的 spring 应用程序时,你可能会遇到以下类型的错误

错误是端口 8989 已在使用中。因此,在这种情况下,您可能会终止在此端口号上运行的进程,或者您可以更改端口号并重新运行您的应用程序。那么您必须在哪里更改端口号?例如在application.properties文件或application.yml文件中。因此,您可以通过以下行更改端口号

server:
  port:
    8082

示例 2:定义我们的应用程序的名称

要定义我们的应用程序的名称,您可以像这样编写属性

spring:
  application:
    name: userservice

所以你可以看到这将属性表示为键值对,每个键也与一个值相关联。

示例 3:连接 MySQL 数据库

要连接 MySQL 数据库,您必须编写很多行。你可以这样写属性

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    username: springuser
    url: jdbc:mysql://${MYSQL_HOST:localhost}:3306/db_example
    password: ThePassword
  jpa:
    hibernate:
      ddl-auto: update

示例 4:连接 H2 数据库

H2 是一个嵌入式、开源和内存数据库。它是一个用Java编写的关系数据库管理系统。它是一个客户端/服务器应用程序。它通常用于单元测试。它将数据存储在内存中,而不是将数据持久存储在磁盘上。要连接 H2 数据库,您必须编写一堆代码。你可以这样写属性

spring:
  h2:
    console:
      enabled: 'true'
  datasource:
    username: sa
    url: jdbc:h2:mem:dcbapp
    driverClassName: org.h2.Driver
    password: password
  jpa:
    database-platform: org.hibernate.dialect.H2Dialect

示例 5:连接 MongoDB 数据库

要连接 MongoDB 数据库,您必须编写一堆代码。你可以这样写属性

spring:
  data:
    mongodb:
      database: BookStore
      port: '27017'
      host: localhost

示例 6:连接 Eureka 服务器

Eureka Server 是一个包含所有客户端服务应用程序信息的应用程序。每个微服务都会注册到 Eureka 服务器,Eureka 服务器知道每个端口和 IP 地址上运行的所有客户端应用程序。 Eureka Server 也称为发现服务器。你可以这样写属性

eureka:
  client:
    service-url:
      defaultZone: http://localhost:9096/eureka/
    fetch-registry: 'true'
    register-with-eureka: 'true'
  instance:
    hostname: localhost

提示:如果您想将您的application.properties文件代码转换为application.yml文件,那么您可以 google 并选择一些在线工具来执行此操作。