自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

面試突擊:Properties和Yml有什么區(qū)別?

開發(fā) 前端
properties 和 yml 都是 Spring Boot 支持的兩種配置文件,其中 yml 格式的配置文件可以看作是對 properties 配置文件的升級。

properties 和 yml 都是 Spring Boot 支持的兩種配置文件,它們可以看作是 Spring Boot 在不同時期的兩款“產(chǎn)品”。在 Spring Boot 時代已經(jīng)不需要使用 XML 文件格式來配置項目了,取而代之的是 properties 或 yml 文件。

properties 配置文件屬于早期,也是目前創(chuàng)建 Spring Boot(2.x)項目時默認的配置文件格式,而 yml 可以看做是對 properties 配置文件的升級,屬于 Spring Boot 的“新版”配置文件。

properties 和 yml 的區(qū)別主要體現(xiàn)在以下 4 點:

  • 定義和定位不同;
  • 語法不同;
  • yml 更好的配置多種數(shù)據(jù)類型;
  • yml 支持多種語言、通用性更好。

區(qū)別1:定義和定位不同

properties 翻譯成中文是“屬性”的意思,所以它在創(chuàng)建之初,就是用來在 Spring Boot 中設置屬性的。yml 是 YAML 是縮寫,它的全稱 Yet Another Markup Language,翻譯成中文是“另一種標記語言”。

所以從二者的定義可以看出:它們的定位和層次是完全不同的,properties 只是用來設置一些屬性配置的,而 yml 的格局和愿景更大,它的定位是“另一種標記語言”,所以從格局上來講 yml 就甩 properties 好幾條街。

區(qū)別2:語法不同

properties 和 yml 語法區(qū)別很大,properties 配置文件的基本用法如下:

# 配置項目啟動端口號
server.port=8088
# 開啟調試模式
debug=true
# 配置數(shù)據(jù)連接信息
spring.datasource.url=jdbc:mysql://127.0.0.0:3306/dbname?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

從上述配置文件可以看出:properties 的基本語法格式是“key=value”的形式,而 yml 的配置文件的基本用法如下:

# 配置項目啟動端口號
server:
port: 9090
# 開啟調試模式
debug: true
# 配置數(shù)據(jù)連接信息
spring:
datasource:
url: jdbc:mysql://127.0.0.0:3306/dbname?characterEncoding=utf8
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver

從上述配置文件可以看出:yml 的基本語法格式是“key: value”的形式,且冒號后面的空格是不能被省略的,否則項目啟動會報錯:

圖片

從上述 properties 和 yml 配置數(shù)據(jù)庫的連接信息可以看出,相比于 properties 來說,yml 的語法更簡潔,并且可讀性更高,它們的區(qū)別如下:

圖片

區(qū)別3:yml 更好的配置多種數(shù)據(jù)類型

yml 除了可以很好的配置基礎數(shù)據(jù)類型之外,它還可以很方便的配置對象、集合等數(shù)據(jù)類型。

在 yml 中配置對象數(shù)據(jù)類型:

student:
id: 1
name: Java
age: 18

或者是使用行內寫法配置對象類型(與上面的寫法的效果一致):

student: {id: 1,name: Java,age: 18}

在 yml 中配置數(shù)組也有兩種寫法,可以這樣寫:

animal:
- Dog
- Cat

或者使用行內寫法:

animal: [Dog, Cat]

區(qū)別4:yml 可以跨語言

properties 格式的配置文件只適用于 Spring Boot 項目,也就是只適用于 Java 語言,而 yml 支持更多的開發(fā)語言,它可以用在 Java、PHP、Python、Ruby、JavaScript、Perl、Golang 等語言中。

至于作用嘛?如果一個公司有多個不同語言的開發(fā)團隊,并且使用了配置中心(在線配置文件)的前提下,那么這些不同語言的開發(fā)團隊就可以使用同一份配置文件了,也方便后期的管理和維護。

總結

properties 和 yml 都是 Spring Boot 支持的兩種配置文件,其中 yml 格式的配置文件可以看作是對 properties  配置文件的升級。它們的主要區(qū)別有 4 點:定義和定位不同、語法不同:yml 的語法更簡單,且可讀性更高、yml 可以更好的配置多種數(shù)據(jù)類型,比如對象和集合、yml 可以跨語言使用,通用性更好。

責任編輯:武曉燕 來源: Java面試真題解析
相關推薦

2022-08-22 07:06:32

MyBatisSQL占位符

2022-08-03 07:04:56

GETHTTPPOST

2022-08-10 07:06:57

IoCDISpring

2022-04-24 07:59:53

synchronizJVMAPI

2022-02-08 07:02:32

進程線程操作系統(tǒng)

2023-03-26 21:51:42

2022-04-26 08:02:00

locktryLocklockInterr

2022-05-09 07:37:04

Java非公平鎖公平鎖

2022-10-09 20:52:19

事務隔離級別傳播機制

2022-03-16 07:33:40

守護線程用戶線程語言

2022-08-29 07:05:02

JSRJava語言

2022-01-11 06:53:23

面試重寫重載

2022-07-18 07:11:35

請求轉發(fā)請求重定數(shù)據(jù)共享

2023-02-17 08:02:45

@Autowired@Resource

2023-02-17 08:10:24

2023-02-01 07:15:16

2024-04-03 15:33:04

JWTSession傳輸信息

2024-09-19 08:42:43

2022-06-13 07:36:06

MySQLInnoDB索引

2024-09-24 13:49:13

SQL數(shù)據(jù)庫
點贊
收藏

51CTO技術棧公眾號