springboot的yml和properties的區別
properties檔案都需要寫全,yml前面相同的可以不寫,一層對應一層就好了。
對比下:
application.properties
application.yml
在yml檔案中有些細節需要注意,冒號後面要空一格再寫值,雖然在IDE中都會自動空一格。。
application.properties 檔案和 application.yml 檔案有什麼區別呢?
yml檔案的好處,天然的樹狀結構,一目瞭然,實質上跟properties是差不多的。
官方給的很多demo,都是用yml檔案配置的。
注意點:
1,原有的key,例如
2,key後面的冒號,後面一定要跟一個空格
3,把原有的application.properties刪掉。然後一定要執行一下 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資料來源 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 雖然做了大量的工作來簡化配置,但其配置依然是相當的複雜!
支援的外部配置方式就高達 17 種之多,當然這很靈活,但靈活就意味著複雜度的提升。
這裡只說說 application.yml 和 application.properties 兩個檔案的優先順序
如果你的專案中存在 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)
充分