![微服务分布式架构基础与实战:基于Spring Boot + Spring Cloud](https://wfqqreader-1252317822.image.myqcloud.com/cover/390/31186390/b_31186390.jpg)
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=1739563274-03hYS0LSJl4krTvpFWZZ0b4PU7Oto2y2-0-eec3082db3a8c35b5aad2882c5815844)
1.9.3 新建系统资源配置文件
编写application.properties资源配置文件代码如下,使用微服务的资源配置文件对application-sit.properties资源配置文件进行指向,将整个微服务工程适配到SIT环境中。
![](https://epubservercos.yuewen.com/C493B8/16896238005622406/epubprivate/OEBPS/Images/38413_44_4.jpg?sign=1739563274-QX7Jh0myCZRsDUHITPKnG2BkiHkYWvQt-0-dd65e2fe457452f0f78ee0e3f7ae7cb2)
1.9.4 编写启动类
使用常规的形式编写启动类,不需要增加其他改变。启动类ApplicationMain.java代码如下。
![](https://epubservercos.yuewen.com/C493B8/16896238005622406/epubprivate/OEBPS/Images/38413_45_1.jpg?sign=1739563274-sY7wwIkq78EVchD7i9av6aNjniKbHdF1-0-637c82e3665131130da601d9a1e2883c)
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=1739563274-P2SnkyvLCPrK1eIVjZsNsRGvsjUPa9wA-0-cb023f6fe98069322889266966ed00bb)
图1-20
1.9.6 运行结果
从以下运行日志中可以看到,系统已按照约定进行配置,自动指向了application-sit.properties,获取其中信息,并按照9090端口进行启动,实现了通过多个配置文件使程序适应多个环境的能力,保证了application资源配置文件中的大部分参数都不需经常变动,并且提供给微服务适配多种环境的能力。
![](https://epubservercos.yuewen.com/C493B8/16896238005622406/epubprivate/OEBPS/Images/38413_45_3.jpg?sign=1739563274-IcD2TO3J3RJAP9EKYmVWqMyhllnBOzkx-0-98a4afa97c54c1bfd5edae083706adb7)