溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springboot中yml和properties有什么區(qū)別

發(fā)布時間:2021-06-15 14:22:21 來源:億速云 閱讀:760 作者:Leah 欄目:大數(shù)據(jù)

這篇文章給大家介紹springboot中yml和properties有什么區(qū)別,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

properties文件都需要寫全,yml前面相同的可以不寫,一層對應一層就好了。

對比下:

springboot中yml和properties有什么區(qū)別springboot中yml和properties有什么區(qū)別springboot中yml和properties有什么區(qū)別

application.properties

springboot中yml和properties有什么區(qū)別springboot中yml和properties有什么區(qū)別springboot中yml和properties有什么區(qū)別springboot中yml和properties有什么區(qū)別

application.yml

在yml文件中有些細節(jié)需要注意,冒號后面要空一格再寫值,雖然在IDE中都會自動空一格。。

springboot中yml和properties有什么區(qū)別

application.properties  文件和 application.yml 文件有什么區(qū)別呢?

yml文件的好處,天然的樹狀結(jié)構(gòu),一目了然,實質(zhì)上跟properties是差不多的。

官方給的很多demo,都是用yml文件配置的。

注意點:

1,原有的key,例如spring.jpa.properties.hibernate.dialect,按“.”分割,都變成樹狀的配置

2,key后面的冒號,后面一定要跟一個空格

3,把原有的application.properties刪掉。然后一定要執(zhí)行一下  maven -X clean install

#application.yml

server:
  port: 8086
  
spring:
    datasource:
        name: test
        url: jdbc:mysql://192.168.1.112:3306/test
        username: root
        password: xxx
        # 使用druid數(shù)據(jù)源
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.jdbc.Driver
        filters: stat
        maxActive: 20
        initialSize: 1
        maxWait: 60000
        minIdle: 1
        timeBetweenEvictionRunsMillis: 60000
        minEvictableIdleTimeMillis: 300000
        validationQuery: select ‘x‘
        testWhileIdle: true
        testOnBorrow: false
        testOnReturn: false
        poolPreparedStatements: true
        maxOpenPreparedStatements: 20
#application.properties

server.port=8085

spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource
spring.datasource.url=jdbc:mysql://aliyuncs.com:3306/home?useUnicode=true&zeroDateTimeBehavior=convertToNull&autoReconnect=true
spring.datasource.username=root
spring.datasource.password=***
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

#mybatis.mapper-locations=classpath*:com/wanyu/fams/mapping/*Mapper.xml
#mybatis.type-aliases-package=com.wanyu.fams.model

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

spring.druid.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.druid.datasource.driverClassName=com.mysql.jdbc.Driver
spring.druid.datasource.url=jdbc:mysql://localhost:3306/spring_boot?characterEncoding=utf-8
spring.druid.datasource.username=root
spring.druid.datasource.password=xxx

Spring Boot 雖然做了大量的工作來簡化配置,但其配置依然是相當?shù)膹碗s!

支持的外部配置方式就高達 17 種之多,當然這很靈活,但靈活就意味著復雜度的提升。

 這里只說說 application.yml 和 application.properties 兩個文件的優(yōu)先級

如果你的項目中存在 application.properties 文件,

那么 application.yml 文件就只是一個擺設。

為什么這么說呢?

我在 application.properties 文件中配置了:

server.port=8085

在 application.yml 文件中配置了:

server:

  port: 8086

啟動項目,控制臺輸出:

main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8085 (http)

充分說明了這一點。

關(guān)于springboot中yml和properties有什么區(qū)別就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI