application.properties 文件和 application.yml 文件有什么区别呢?

本文探讨了YML和Properties两种Spring Boot应用配置文件的区别。YML文件具有清晰的树状结构,易于阅读和理解,而Properties则为传统的键值对形式。文章详细列举了YML文件的配置示例,并指出其在组织复杂配置方面的优势。

application.properties  文件和 application.yml 文件有什么区别呢?

yml文件的好处,天然的树状结构,一目了然,实质上跟properties是差不多的。

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

注意点:

1,原有的key,例如spring.jpa.properties.hibernate.dialect,按“.”分割,都变成树状的配置

2,key后面的冒号,后面一定要跟一个空格

3,把原有的application.properties删掉。然后一定要执行一下  maven -X clean install

示例:

 

 
  1. #application.yml

  2.  
  3. server:

  4. port: 8086

  5.  
  6. spring:

  7. datasource:

  8. name: test

  9. url: jdbc:mysql://192.168.1.112:3306/test

  10. username: root

  11. password: xxx

  12. # 使用druid数据源

  13. type: com.alibaba.druid.pool.DruidDataSource

  14. driver-class-name: com.mysql.jdbc.Driver

  15. filters: stat

  16. maxActive: 20

  17. initialSize: 1

  18. maxWait: 60000

  19. minIdle: 1

  20. timeBetweenEvictionRunsMillis: 60000

  21. minEvictableIdleTimeMillis: 300000

  22. validationQuery: select 'x'

  23. testWhileIdle: true

  24. testOnBorrow: false

  25. testOnReturn: false

  26. poolPreparedStatements: true

  27. maxOpenPreparedStatements: 20

 

 
  1. #application.properties

  2.  
  3. server.port=8085

  4.  
  5. spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource

  6. spring.datasource.url=jdbc:mysql://aliyuncs.com:3306/home?useUnicode=true&zeroDateTimeBehavior=convertToNull&autoReconnect=true

  7. spring.datasource.username=root

  8. spring.datasource.password=***

  9. spring.datasource.driver-class-name=com.mysql.jdbc.Driver

  10.  
  11. #mybatis.mapper-locations=classpath*:com/wanyu/fams/mapping/*Mapper.xml

  12. #mybatis.type-aliases-package=com.wanyu.fams.model

  13.  
  14. spring.mvc.view.prefix=/WEB-INF/jsp/

  15. spring.mvc.view.suffix=.jsp

  16.  
  17. spring.druid.datasource.type=com.alibaba.druid.pool.DruidDataSource

  18. spring.druid.datasource.driverClassName=com.mysql.jdbc.Driver

  19. spring.druid.datasource.url=jdbc:mysql://localhost:3306/spring_boot?characterEncoding=utf-8

  20. spring.druid.datasource.username=root

  21. spring.druid.datasource.password=xxx

 

### 回答1: application.properties 文件使用的是标准的键值对格式,而 application.yml 文件使用的是 YAML 格式,它支持更多的数据类型,比如列表映射,并且可以更加简洁地表达出来。 ### 回答2: springboot中的 application.properties 文件 application.yml 文件都是用来配置应用程序的属性的。 application.properties 文件是使用键值对的形式进行配置的,每个属性对应的值之间使用等号(=)进行分隔,不同的属性之间使用回车换行进行分隔。例如: ```properties server.port=8080 spring.datasource.url=jdbc:mysql://localhost:3306/test spring.datasource.username=root spring.datasource.password=123456 ``` application.yml 文件采用的是YAML(YAML Ain't Markup Language)格式,一种以数据为中心的文本格式来进行配置。YAML 使用缩进缩进的方式来表示不同的层级关系,使用冒号(:)来分隔属性对应的值。例如: ```yaml server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/test username: root password: 123456 ``` 在配置方式上,YAML 相对于 properties 更加简洁易读,可以使用缩进来表示层级结构,给人更加直观的感受。 另外,YAML 还提供了更多的数据结构支持,比如列表、映射等,可以让配置更加灵活。同时,YAML 还支持引用、继承等高级特性,可以更好地实现配置的复用组织。 总的来说,使用 application.properties application.yml 都可以实现配置应用程序的需求,但在简洁性可读性上,YAML 更加优秀一些。根据个人习惯团队约定,可以选择使用其中之一。 ### 回答3: springboot的application.properties文件application.yml文件都是用来配置springboot应用程序的属性文件。它们的主要区别在于文件格式书写风格。 application.properties文件是常见的Java属性文件格式,采用键值对的方式进行配置,类似于传统的.properties文件。在该文件中,每一行代表一个属性配置,以"="分隔键值。例如: ```properties server.port=8080 spring.datasource.url=jdbc:mysql://localhost:3306/mydb ``` 相比之下,application.yml文件采用了更加人性化的YAML(YAML Ain't Markup Language)格式。YAML是一种简洁高效的数据序列化语言,具有可读性强、结构清晰等特点。在该文件中,使用缩进表示层级关系,以冒号":"分隔键值对。例如: ```yaml server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/mydb ``` 除了格式上的不同,两者在书写风格上也有一些区别。使用properties文件时,如果多个配置项属于同一级别,需要使用相同前缀来区分,例如"spring.datasource.username""spring.datasource.password";而在yml文件中,可以直接使用缩进的方式表示层级关系。 虽然两者在格式书写风格上存在差异,但实际上它们都可以达到相同的配置效果。开发者可以根据实际需求自己的偏好选择使用哪种文件格式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值