SpringBoot多项⽬配置统⼀、公共属性
使⽤Spring Cloud开发项⽬,当有多个项⽬时,有些配置其实是相同的,⽽且每个项⽬都需要配置(⽐如:注册中⼼的地址)。希望能将它们统⼀起来,⽽不是每修改⼀处则所有的都要修改。
索求:将多个项⽬的相同配置统⼀起来管理
SpringBoot 的 默认配置⽂件为 application.properties 或 l。其实,还有⼀个重要的⽂件,即
以配置注册中⼼的地址为例:
多个业务项⽬,都有⼀个 l
eureka:
client:
service-url:
bootstrap项目defaultZone: localhost:8761/eureka # 注册中⼼的地址
好了,每个项⽬都有注册中⼼的配置。如果注册中⼼的地址⼀修改,那所有的项⽬都需要改,所谓牵⼀发⽽动全⾝。如果改漏了,那gg。有没有⼀个统⼀管理的办法呢?当然有!
解决此问题的思路
我们在公共模块新建⼀个 l 配置⽂件⽤于管理不同项⽬的相同配置。相应的,不同项⽬的l 都引⽤l 定义的属性。
在公共模块 src/main/resource⽬录,新建 l,定义公共属性
# 假设服务器IP为 10.1.1.1
eurekaServer: 10.1.1.1:8761/eureka
# 假设 Eureka 为⼀个集时,存在多个节点
#eurekaServer: 10.1.1.1:8761/eureka,10.2.2.2:8761/eureka,10.3.3.3:8761/eureka,
业务项⽬ l 引⽤该属性
eureka:
client:
service-url:
defaultZone: ${eurekaServer:localhost:8761/eureka}# 注册中⼼的地址
# 引⽤ eurekaServer 属性,默认值为 localhost:8761/eureka
这样,当需要修改公共配置时,仅需要在公共模块的 l 进⾏修改, 不⽤所有项⽬都挨个改⼀下。重新打包即可。
扩展⼀下:
配置⽂件的占位符可以设置默认值,写法为: ${属性名 : 默认值},冒号分隔
⽐如: ${eureka.server.host:127.0.0.1}
解析:当 eureka.server.host 没有设置时,默认取值为 127.0.0.1
end

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。