SpringBoot中application.yml基本配置解读
作者:liuyuinsdu
文章主要介绍了Spring Boot项目中`application.properties`和`application.yml`配置文件的使用方法和区别,包括优先级、配置文件所在目录、端口服务配置、数据库配置、多profile配置以及静态资源路径的指定
SpringBoot中application.yml基本配置
首先,application.properties和application.yml作用是一致的,
区别是:
1、spring boot项目中同时存在
application.properties和application.yml文件时
两个文件都有效
但是application.properties的优先级会比application.yml高
2、配置文件所在目录不同优先级也不同
如下图1~4优先级从高到低
3、在yml文件中有些细节需要注意
冒号后面要空一格再写值,虽然在IDE中都会自动空一格
(1)端口服务配置
- 其中context-path: /hotel可以不用配置
- 如果配置,访问路径就是http://ip:port/hotel/
- 没有配置,访问路径就是http://ip:port/
(2)数据库配置
(3)配置多个不同的profile,实现在不同的环境(比如开发、测试和生产环境)使用不同的配置变量。
# 默认的profile为dev,其他环境通过指定启动参数使用不同的profile,比如: # 测试环境:java -jar my-spring-boot.jar --spring.profiles.active=test # 生产环境:java -jar my-spring-boot.jar --spring.profiles.active=prod spring: profiles: active: dev --- # 开发环境配置 spring: profiles: dev mysql: ipPort: localhost:3306 --- # 测试环境配置 spring: profiles: test mysql: ipPort: ip:port --- # 生产环境配置 spring: profiles: prod mysql: ipPort: ip:port
使用方法:
通过指定启动参数使用不同的profile
- 测试环境: java -jar my-spring-boot.jar --spring.profiles.active=test
- 生产环境: java -jar my-spring-boot.jar --spring.profiles.active=prod
(3)指定静态资源路径
spring: resources: #指定静态资源路径,默认为classpath:[/META-INF/resources/,/resources/, /static/, /public/]以及context:/ static-locations: classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/}
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。