- 微服务分布式架构基础与实战:基于Spring Boot + Spring Cloud
- 张方兴
- 539字
- 2020-08-27 16:43:13
1.9 【实例】通过多配置文件使工程适应多应用场景
1.9.1 实例背景
1.8节介绍了使用一个资源配置文件适应多个环境配置,也可使用多个资源配置文件适应多个环境配置。
本实例将创建boot_02_10工程,基于多个资源配置文件的方式同时设置多个环境参数,使整个工程项目结构在更加清晰的情况下适应多应用场景。
1.9.2 新建SIT和UAT环境所需资源配置文件
新建boot_02工程中SIT和UAT环境所需的资源配置文件application-sit.properties与application-uat.properties代码如下,以备后续适配所用。其中设置了不同的参数,待微服务的application资源配置文件对其中之一进行指向。
![](https://epubservercos.yuewen.com/C493B8/16896238005622406/epubprivate/OEBPS/Images/38413_44_3.jpg?sign=1739550352-Jek8cByVMBp9QSbeNhd0LKQyFewgpKha-0-e30ed497265b41471fe83e4ad550ff79)
1.9.3 新建系统资源配置文件
编写application.properties资源配置文件代码如下,使用微服务的资源配置文件对application-sit.properties资源配置文件进行指向,将整个微服务工程适配到SIT环境中。
![](https://epubservercos.yuewen.com/C493B8/16896238005622406/epubprivate/OEBPS/Images/38413_44_4.jpg?sign=1739550352-wxUTmZz41dhN8cp4GGuiP5GJ6M78sjxI-0-b957bd3be415c6c287ca17413e4f9a79)
1.9.4 编写启动类
使用常规的形式编写启动类,不需要增加其他改变。启动类ApplicationMain.java代码如下。
![](https://epubservercos.yuewen.com/C493B8/16896238005622406/epubprivate/OEBPS/Images/38413_45_1.jpg?sign=1739550352-GwFg39LtxtTro3ciezXKL5Jc7NOgFkVx-0-045fc5fe26f7e0d137e96852ed83baa0)
1.9.5 当前项目结构
通过多配置文件使工程适应多应用场景的项目结构如图1-20所示,将多个application配置在src/main/resources文件夹中,通过application.properties文件对其进行引用即可。application-sit.properties文件与application-uat.properties文件的前缀都是固定格式的,“-”后面的命名可自行定义。
![](https://epubservercos.yuewen.com/C493B8/16896238005622406/epubprivate/OEBPS/Images/38413_45_2.jpg?sign=1739550352-J3F62WxAoFREyHcYu3pV9hcOfFZmHUNc-0-50ce65ac9544089a9299f1edbdbeadc8)
图1-20
1.9.6 运行结果
从以下运行日志中可以看到,系统已按照约定进行配置,自动指向了application-sit.properties,获取其中信息,并按照9090端口进行启动,实现了通过多个配置文件使程序适应多个环境的能力,保证了application资源配置文件中的大部分参数都不需经常变动,并且提供给微服务适配多种环境的能力。
![](https://epubservercos.yuewen.com/C493B8/16896238005622406/epubprivate/OEBPS/Images/38413_45_3.jpg?sign=1739550352-1qQnlKZxnwkQUaOYFauqiBRY2FXAnWi0-0-39013b24769e8180a176dd4a680a793a)