springcloud配置文件中yml文件和properties的对比

springcloud的强大之处在于不需要用户自己在bean中配置相关属性,可以在配置文件实现。springboot的属性文件分为application.yml和application.propertise两种,主要用来配置数据库连接、日志相关配置等,除了格式的区别以外,两者几乎没啥区别。有一点需要注意的,也是在项目实践中摸索出来的:

yml里面的任何配置项不能是纯数字,否则会被忽略。这个properties可以加载的配置,用yml方式就无法加载,例如com.tomcat.telephone = 1234556789

其他的在程序员DD的博客里面已经写的很清楚了,我就不赘余:

http://blog.didispace.com/springbootproperties/

多环境配置

针对多环境配置多个yml或者properties文件势必显得麻烦,我个人习惯将所有环境配置写在一个配置文件中,将不变的写在一起,将随环境改变的用三个连续的“---”分隔开

---
#########################################  开发环境  ###################################
# 数据源
spring:
  profiles: development
  datasource:
    # 服务数据源
    url: jdbc:mysql://192.168.50.1:3306/hlms_demo?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
    username: sa
    password: 123456

server
port:1111
--- ######################################### 测试环境 ################################### spring: profiles: test datasource: # 服务数据源 url: jdbc:mysql://192.168.50.2:3306/hlms_demo?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true username: sa password: 123456

server
port:2222
 
  • 执行java -jar xxx.jar --spring.profiles.active=test,可以观察到服务端口被设置为2222,也就是测试环境的配置(test)
  • 执行java -jar xxx.jar --spring.profiles.active=development,可以观察到服务端口被设置为1111,也就是生产环境的配置(development)

外置文件

项目内部有配置文件,打成jar包的同级目录下也可以放置配置文件,属性相同的在项目启动时外部的会覆盖内部的属性,而不必修改重新打包

关于外置文件的加载优先级:

https://blog.csdn.net/wangmx1993328/article/details/81029619

猜你喜欢

转载自www.cnblogs.com/liwenlong4xupeipei/p/9641273.html
今日推荐