SpringBoot中的配置文件


前言

SpringBoot框架中配置文件, 用于全局配置, 包含默认的properties文件和更加简洁明了的yml文件


提示:以下是本篇文章正文内容,下面案例可供参考

一、默认配置文件

在Spring Boot工程里, 在src/main/resouces下的application.properties是默认配置文件, SpringBoot在加载Spring环境时会自动读取此文件

在项目的开发、测试、生产环节中, 所需的配置是不同的, 比如数据库的配置、显示的日志级别等, 为了避免频发的修改配置值, Spring框架允许采取Profile配置, 即允许创建多个配置文件, 并选则性的激活某个配置文件
SpringBoot中进一步简化了Profile配置的使用, 只需要重新定义配置文件, 文件名为application-?.properties, 在这样的文件配置中配置不同环境中的属性

示例: application-dev.properties

#以下是 开发环境 下的配置信息
spring.datasource.url=jdbc:mysql://localhost:3306
spring.datasource.username=root
spring.datasource.password=root
logging.level.cn.tedu.boot.demo=trace

示例: application-test.properties

#以下是 测试环境 下的配置信息
spring.datasource.url=jdbc:mysql://192.168.1.100:3306
spring.datasource.username=root
spring.datasource.password=root
logging.level.cn.tedu.boot.demo=trace

示例: application-prod.properties

#以下是 生产环境 下的配置信息
spring.datasource.url=jdbc:mysql://201.104.0.103:3306
spring.datasource.username=root
spring.datasource.password=root
logging.level.cn.tedu.boot.demo=trace

其他的, 原本的application.properties中, 写入的是默认始终加载的,无论什么环境下都需要加载的配置信息, 最后还要添加一项配置, 用于激活某个Profile配置, 如:

#默认始终加载的
mybatis.mapper-locations=classpath:mapper/*.xml
#激活某个Profile配置, 此属性的值就是Profile配置文件的文件命中application-右侧的值
spring.profile.active=dev

配置文件可以外部化, SpringBoot项目可以编译打包成一个独立的jar文件, 并且在查找配置文件时, 会优先从jar文件所在的目录查找配置文件, 所以将配置文件放在和jar文件同一个文件夹下就行

二、YAML配置文件

YAML文件是一种编写配置文件的语法, 它简洁明了, 表现为以.yml作为扩展名的文件, SpringBoot支持使用这种文件进行配置(如果在Spring框架中读取这种文件, 需要另外添加依赖项)

关于YAML配置,:

  • 语法特点是"分层级", 相比原.properties使用小数点分隔, 在YAML中使用冒号分隔, 如果分隔右侧不是属性值, 而是下一个层级, 则冒号右侧回车
  • 下一个层级的属性名需要右侧缩进2个空格位置, 在使用IDEA时, 会自动在编辑.yml时将TAB键的效果转换成2个空格
  • 某一层级的属性名将对应属性值, 则在冒号的右侧添加1个空格, 然后再填写属性值, 通常, 在同一个工程中, 不应该同时使用.properties.yml, 因该只使用其中的1种(虽然可以同时使用但不推荐)

三、静态资源文件

静态资源指不会发生变化的资源, 例如.html .css .js 图片文件等

在SpringBoot工程中, src/main/resources下的static文件夹是默认存放静态资源的文件夹, 如果创建工程时直接添加了spring-boot-starter-web, 则此文件夹默认已经存在, 没有则需要创建

静态资源文件夹下的资源可以通过GET请求直接获取, 如果static下有a.png, 在浏览器输入http://localhost:8080/a.png就能直接访问, 如果放的是index.html, 他是默认资源, 首页, 则可直接通过http://localhost:8080访问, 和http://localhost:8080/index.html等效

指定其他位置作为静态资源文件夹

spring.web.resources.static-locations=file:d:/file

如果指定了其他文件夹为静态文件夹, 原有的static就不会生效, 还需要手动重新指定static为静态资源文件夹

spring.web.resources.static-locations=classpath:/static/, file:d:/file

如果同时指定多个静态资源文件夹, 要保证每个静态资源文件夹下的文件和子文件夹名称要不发生冲突

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值