详解application.properties和application.yml文件的区别

在springboot框架里进行项目开始时,我们在resource文件夹里可以存放配置文件,而格式可以有两种,properties和yml,前者是扁平的k/v格式,而后者是yml的树型结构,我们建议使用后者,因为它的可读性更强,如果现有是properties,也可以转换成yml格式,我们把properies里按.去拆分即可。

一般上来说,当我们创建一个SpringBoot项目时,IDE会默认帮我们创建一个application.properties配置文件。有些朋友习惯把.properties文件改成.yml文件。那么这两种文件类型有什么区别呢?

区别

1.内容格式比较:

.properties文件,通过.来连接,通过=来赋值,结构上,没有分层的感觉,但比较直接。

.yml文件,通过:来分层,结构上,有比较明显的层次感,最后key赋值的:后需要留一个空格

2.执行顺序

如果工程中同时存在application.properties文件和 application.yml文件,yml文件会先加载,而后加载的properties文件会覆盖yml文件。所以建议工程中,只使用其中一种类型的文件即可。

案例

application.properties:

server.port=8081

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

application.yml:

server:
 port: 8082

spring:
  datasource:
    name: test
    url: jdbc:mysql://127.0.0.1:3306/database
    username: root
    password: ******
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.jdbc.Driver

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Spring Boot中配置文件application.properties使用

    一.配置文档配置项的调用 启动后在浏览器直接输入http://localhost:18080/user/test,就直接打印出配置文件中的配置内容. 二.绑定对象bean调用 有时候属性太多了,一个个绑定到属性字段上太累,官方提倡绑定一个对象的bean,这里我们建一个ConfigBean.java类,顶部需要使用注解@ConfigurationProperties(prefix = "com")来指明使用哪个 @ConfigurationProperties(prefix = &quo

  • 详解spring boot 使用application.properties 进行外部配置

    application.properties大家都不陌生,我们在开发的时候,经常使用它来配置一些可以手动修改而且不用编译的变量,这样的作用在于,打成war包或者jar用于生产环境时,我们可以手动修改环境变量而不用再重新编译. spring boo默认已经配置了很多环境变量,例如,tomcat的默认端口是8080,项目的contextpath是"/"等等,可以在这里看spring boot默认的配置信息http://docs.spring.io/spring-boot/docs/curr

  • springboot如何读取配置文件(application.yml)中的属性值

    在spring boot中,简单几步,读取配置文件(application.yml)中各种不同类型的属性值: 1.引入依赖: <!-- 支持 @ConfigurationProperties 注解 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId>

  • Spring Boot 中application.yml与bootstrap.yml的区别

    yml与properties 其实yml和properties文件是一样的原理,且一个项目上要么yml或者properties,二选一的存在. 推荐使用yml,更简洁. bootstrap与application 1.加载顺序 这里主要是说明application和bootstrap的加载顺序. •bootstrap.yml(bootstrap.properties)先加载 •application.yml(application.properties)后加载 bootstrap.yml 用于应

  • 详解配置 Apache 服务器支持 PHP 文件的解析

    详解配置 Apache 服务器支持 PHP 文件的解析 [说明] 1. 本例中 Apache 版本为 httpd-2.4.20-x64-vc14 ,安装路径为 E:\Apache24 2. PHP 版本为 php-5.5.34-Win32-VC11-x64 ,安装路径为 E:\php-5.5.34 [下载] 登录 http://php.NET/downloads.php 下载 PHP,由于我要把它跟 Apache 集成,所以我这里下载的是 Thread Safe 版本: [安装] 1. 解压下载

  • 详解C#如何实现读写ini文件

    目录 1.创建一个C#项目 3.创建一个winform界面 4.添加一个ini管理类 5.添加winform代码 1.创建一个C#项目 2.创建一个ini文件 在Debug目录下创建一个ini文件,写入下面内容,注意编码格式用ANSI. [Information] Name=周星星 Gender=男 Age=55 Region=香港 3.创建一个winform界面 如下图 4.添加一个ini管理类 using System; using System.Collections.Generic; u

  • 详解C#如何加密解密RAR文件

    目录 实践过程 效果 代码 实践过程 效果 代码 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { FileMenu(Application.ExecutablePath + ",0", Application.ExecutablePath); string[] str =

  • 详解log4j.properties的简单配置和使用

    本文介绍了详解log4j.properties的简单配置和使用,分享给大家,具体如下: 简单log4j.properties配置示例 ### set log levels ### log4j.rootLogger = INFO , console , debug , error ### console ### log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = Syst

  • 详解SQL Server数据库状态和文件状态

    数据库状态 (database states) 查询数据库的当前状态 : 1.查询所有数据库的状态 ,通过sys.databases目录视图的state_desc列 user master go select state_desc ,[name] from sys.databases go 2.查询指定数据库的状态,通过DATABASEPROPERTYEX函数的Status属性 select DATABASEPROPERTYEX('demoData','status') go 状态: ONLIN

  • 详解PHP防止直接访问.php 文件的实现方法

    详解PHP防止直接访问.php 文件的实现方法 为了保证我们用 PHP 写的 API 的安全性要禁止除了接口外的访问方式. 比如我们的项目为 example, 其下有文件夹 dir1.有个接口文件 api.php. 结构为: 输入图片说明 这时候我们要求只能通过 example/api.php 来调用file.php里的服务,不能直接通过example/dir1/file.php来访问. 在 php 里有这样一个变量$_SERVER,这是个数组变量, 里面有各种键值对, 具体的可以搜索一下资料.

  • 详解node服务器中打开html文件的两种方法

    本文介绍了详解node服务器中打开html文件的两种方法,分享给大家,具体如下: 方法1:利用 Express 托管静态文件,详情查看这里 方法2:使用fs模块提供的readFile方法打开文件,让其以text/html的形式输出. 代码: var express = require('express'); var fs=require("fs"); var app = express(); //方法1:通过express.static访问静态文件,这里访问的是ajax.html //

  • 详解C 语言项目中.h文件和.c文件的关系

    详解C 语言项目中.h文件和.c文件的关系 在编译器只认识.c(.cpp))文件,而不知道.h是何物的年代,那时的人们写了很多的.c(.cpp)文件,渐渐地,人们发现在很多.c(.cpp)文件中的声明语句就是相同的,但他们却不得不一个字一个字地重复地将这些内容敲入每个.c(.cpp)文件.但更为恐怖的是,当其中一个声明有变更时,就需要检查所有的.c(.cpp)文件. 于是人们将重复的部分提取出来,放在一个新文件里,然后在需要的.c(.cpp)文件中敲入#include XXXX这样的语句.这样即

  • 详解如何修改 node_modules 里的文件

    前言 有时候使用npm上的包,发现有bug,我们知道如何修改,但是别人可能一时半会没法更新,或者是我们特殊需求,别人不愿意修改,这时候我们只能自己动手丰衣足食.那么我们应该如何修改别人的源码呢?首先,直接修改node_modules里面的文件是不太行的,重新安装依赖就没有了.一般常用办法有两个: 下载别人代码到本地,放在src目录,修改后手动引入. fork别人的代码到自己仓库,修改后,从自己仓库安装这个插件. 这两个办法的缺陷就是:更新麻烦,我们每次都需要手动去更新代码,无法与插件同步更新.如

  • 详解python os.path.exists判断文件或文件夹是否存在

    os即operating system(操作系统),Python 的 os 模块封装了常见的文件和目录操作. os.path模块主要用于文件的属性获取,exists是"存在"的意思,所以顾名思义,os.path.exists()就是判断括号里的文件是否存在的意思,括号内的可以是文件路径. 举个栗子: import os #判断文件夹是否存在 dir = os.path.exists('C:\\Users\\Desktop') print('dir:', dir) #判断文件是否存在 f

随机推荐