application.properties文件和application.yml文件的区别?


spring boot常用配置

配置名称
默认值
描述
server.port 8080 端口号
server.servlet.context-path / 设置应用上下文
logging.file 日志输出路径
logging.level info 设置最低日志输出级别
debug false 开启 / 关闭调试模式
spring.datasource.* 数据库相关设置


springboot支持两种格式的配置文件 application.properties 和 application.yml

  • application.properties (springboot默认的配置文件)
  • application.yml

注意:springboot配置文件默认名称为application,不要使用其他名称,否则不会被springboot自动读取



application.properties 和 application.yml 的区别?

1、application.yml 是一种YAML格式的文件,yaml是一种简洁的非标记语言,yaml数据为中心,使用空格、缩进、分行来组织数据,使得内容更加简洁易读,并且有利于运维人员后期的维护,有点类似于json格式。

2、yaml语法格式

  • 以分行和空格来表示层级关系,以 : 表示一个层级的结束
  • 标准格式: key:空格value
    cd4356


application.properties 和 application.yml 优先级?

1、application.properties 优先级高于 application.yml。如果项目中同时存在application.properties 和 application.yml配置文件,则 application.yml会先加载,然后再加载application.properties,并且后加载的 application.properties 文件会覆盖 application.yml 文件。

2、一般而言,一个项目中只使用一种格式的配置文件,便于统一管理维护维护



application.properties

#修改端口号(默认端口号为8080)
server.port=80
#设置uri编码字符集
server.tomcat.uri-encoding=utf-8
#设置url上下文路径以区别不同的应用,也可以称为项目路径,是构成url地址的一部分
server.servlet.context-path=/springboot

#将应用日志输出到文件中
logging.file=d:/idea/java_workspace/springboot/springboot.log
#设置日志输出级别(默认为info)(输出级别:debug<info<warn<error<fatal)
logging.level.root=error

#配置数据源
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/studentms?serverTimezone=GMT
spring.datasource.username=root
spring.datasource.password=root

#配置mybatis相关
#配置别名
mybatis.type-aliases-package=com.cd4356.springboot.pojo
#配置xml映射文件路径
mybatis.mapper-locations=classpath:mapper/*.xml


application.yml

server:
  port: 8080  #修改端口号(默认端口号为8080)
  tomcat:
    uri-encoding: UTF-8  #设置uri编码字符集
  servlet:
    context-path: #设置url上下文路径以区别不同的应用,也可以称为项目路径,是构成url地址的一部分

#日志设置
logging:
  file: d:/idea/java_workspace/springboot/springboot.log  #将日志输出到指定文件中
  level: error  #设置日志输出级别(默认为info)(输出级别:debug<info<warn<error<fatal)

spring:
  #配置数据源
  datasource:
    url: jdbc:mysql://localhost:3306/studentms?serverTimezone=GMT
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver

#该配置节点为独立的节点,有很多人容易将这个配置放在spring的节点下,导致配置无法被识别
mybatis:
  type-aliases-package: com.cd4356.springboot.pojo #配置别名
  mapper-locations: classpath:mapper/*.xml #配置mapper映射xml文件



属性扩展



server.servlet.context-path的作用

1. server.servlet.context-path属性 主要用来设置引用上下文路径,即项目路径,它是构成URL的一部分。

2. server.servlet.context-path属性可以定义也可以不定义(默认可以不设置)。

@RestController
@RequestMapping("/demo")
public class DemoController{

	@RequestMapping("/list")
	public Map<String, Object> list(HttpServletRequest request){
		Map<String,Object> map = new HashMap<String,Object>();
		return map;
	}
}

没有配置server.servlet.context-path属性

  • 请求url为:localhost:port/demo/list   这里的port是指你定义的tomcat端口号,默认为8080

配置server.servlet.context-path=/o2o

  • 请求url为:localhost:port/o2o/demo/list



spring.datasource.*

发布了90 篇原创文章 · 获赞 111 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_42950079/article/details/101615606
今日推荐