暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

最详细的properties文件和yml文件的区别

助力小白闯IT 2020-02-15
1929

    相比SpringBoot大家都比较喜欢用哈,当我们创建一个Springboot项目的时候,IDE默认会给我们创建一个application.properties配置文件,有些朋友呢习惯把这个文件改为.yml文件,那么这两类文件有什么区别呢?

                    

    1 

这两类文件在内容书写的格式上不同


application.properties配置文件的内容如下:
    spring.thymeleaf.cache=false
    spring.thymeleaf.suffix=.html
    spring.thymeleaf.prefix=classpath:/templates/pages/
    spring.datasource.username=root
    spring.datasource.password=root
    spring.datasource.url=jdbc:mysql:///jtsys?serverTimezone=GMT
    application.yml配置文件的内容如下:
      spring:
      thymeleaf:
      cache: false
      suffix: .html
      prefix: classpath:/templates/pages/
      datasource:
      username: root
      password: root
      url: jdbc:mysql:///jtsys?serverTimezone=GMT

      综上所述:

      .properties文件,通过“ . ”来进行分割,没有层次感,相同的前缀每次都需要书写

      .yml文件,有一种树状结构,通过“ :”来分割,有层次感,需要注意的是“ :”后面 需要我们先按一个空格然后再赋值,相同的前缀只需要写一次 


      1  2

      他们两类文件在项目中是有一个先后加载顺序的


      正常情况下是先加载yml文件,接下来是加载properties文件,后加载的properties文件会覆盖yml文件。所以建议工程中一般只写一种类型的文件。测试方法:准备一个application.yml文件和一个application.properties文件

      在两个文件中分别设置不同的端口号,然后启动项目,观察启动的端口号是多少

      application.properties

        server.port=8081
        server.servlet.context-path=/
        server.tomcat.max-threads=1000

        application.yml

          server:
          port: 80
          servlet:
          context-path: /
          tomcat: #最大线程数
          max-threads: 1000

          启动结果:

          由结果可以看到,我们一个项目中存在.yml文件又存在.propertiex文件,最后的结果是.properties的配置内容


          扫描二维码关注我们吧!

          不关注



          就捣蛋

          长按上方二维码,关注“助力小白闯IT”



          往期精选


          彻底理解ThreadLocal

          深度剖析volitial关键字

          暴击回答面试官问你synchronized关键字底层实现原理


          文章转载自助力小白闯IT,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

          评论