SpringBoot多模块多环境的配置方法是什么

这篇文章主要介绍“Spring Boot多模块多环境的配置方法是什么”,在日常操作中,相信很多人在Spring Boot多模块多环境的配置方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spring Boot多模块多环境的配置方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于做网站、网站建设、大新网络推广、小程序开发、大新网络营销、大新企业策划、大新品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供大新建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

多模块

模块

在模块化编程中,开发者将程序分解成离散功能块(discrete chunks of functionality),并称之为模块。

多模块的优点

每个模块具高内聚的特性,使得校验、调试、测试轻而易举。 精心编写的模块提供了可靠的抽象和封装界限,使得每个模块都具有条理清楚的设计和明确的目的。

实现多模块

  1.  创建maven工程

  2.  配置多模块

  3.  添加模块依赖

创建maven工程

Spring Boot多模块多环境的配置方法是什么

Spring Boot多模块多环境的配置方法是什么

Spring Boot多模块多环境的配置方法是什么

配置多模块

在pom中,增加modules节点,模块名任意名称,可以配置多个;

   seckill-api   seckill-biz  

Spring Boot多模块多环境的配置方法是什么

通常到这里,多模块就配置完毕了。但现实中,我们的模块间是需要相互依赖的,同时每个模块还要依赖第三方模块;

添加模块依赖

seckill-api(api层)要依赖seckill-biz(业务层),在api模块的pom文件中,增加如下配置

           com.sifou.courses       seckill-biz       1.0-SNAPSHOT     

假定,api和biz模块都依赖lombok,validation-api这两个第三方模块(包),如何实现?

  •  方案1:在每个(biz & api)模块中,增加依赖;

  •  方案2:在父模块增加依赖;

相信大家都会选择方案2;在root工程中的pom文件,增加如下配置;

        1.18.8        2.0.1.Final                            org.projectlombok            lombok            ${lombok.version}                            javax.validation            validation-api            ${javax.validation}            

到这里,配置完成;(是不是很清晰,请投币,点赞)

Spring Boot多模块多环境的配置方法是什么

还可以用mvn dependency:tree命令,来查看依赖关系(必备核心技能,解决包冲突,解决包版本失效)

[INFO] Scanning for projects...  [INFO] ------------------------------------------------------------------------  [INFO] Reactor Build Order:  [INFO]   [INFO] com.sifou.courses.seckill  [INFO] seckill-biz  [INFO] seckill-api  [INFO]                                                                        [INFO] ------------------------------------------------------------------------  [INFO] Building com.sifou.courses.seckill 1.0-SNAPSHOT  [INFO] ------------------------------------------------------------------------  [INFO]   [INFO] --- maven-dependency-plugin:3.1.2:tree (default-cli) @ com.sifou.courses.seckill ---  [INFO] com.sifou.courses:com.sifou.courses.seckill:pom:1.0-SNAPSHOT  [INFO] +- org.projectlombok:lombok:jar:1.18.8:compile  [INFO] \- javax.validation:validation-api:jar:2.0.1.Final:compile  [INFO]                                                                       [INFO] ------------------------------------------------------------------------  [INFO] Building seckill-biz 1.0-SNAPSHOT  [INFO] ------------------------------------------------------------------------  [INFO]   [INFO] --- maven-dependency-plugin:3.1.2:tree (default-cli) @ seckill-biz ---  [INFO] com.sifou.courses:seckill-biz:jar:1.0-SNAPSHOT  [INFO] +- org.projectlombok:lombok:jar:1.18.8:compile  [INFO] \- javax.validation:validation-api:jar:2.0.1.Final:compile  [INFO]                                                                        [INFO] ------------------------------------------------------------------------ [INFO] Building seckill-api 1.0-SNAPSHOT  [INFO] ------------------------------------------------------------------------  [INFO]   [INFO] --- maven-dependency-plugin:3.1.2:tree (default-cli) @ seckill-api ---  [INFO] com.sifou.courses:seckill-api:jar:1.0-SNAPSHOT  [INFO] +- com.sifou.courses:seckill-biz:jar:1.0-SNAPSHOT:compile [INFO] +- org.projectlombok:lombok:jar:1.18.8:compile  [INFO] \- javax.validation:validation-api:jar:2.0.1.Final:compile  [INFO] ------------------------------------------------------------------------  [INFO] Reactor Summary:  [INFO]   [INFO] com.sifou.courses.seckill .......................... SUCCESS [  1.007 s]  [INFO] seckill-biz ........................................ SUCCESS [  0.040 s]  [INFO] seckill-api ........................................ SUCCESS [  0.036 s]  [INFO] ------------------------------------------------------------------------  [INFO] BUILD SUCCESS  [INFO] ------------------------------------------------------------------------  [INFO] Total time: 1.862 s  [INFO] Finished at: 2020-10-29T23:18:09+08:00  [INFO] Final Memory: 27M/230M  [INFO] ------------------------------------------------------------------------ Process finished with exit code 0

多环境

在工作中,我们面临开发、测试、生产等等多个环境,要完美实现多环境,总共可以分文两个大的步骤;

  •  在工程中支持多环境配置;

  •  在真实环境中实现多环境启动;

支持多环境配置

  1.  创建properties文件

  2.  指定环境参数

创建properties文件

在resources文件夹下创建三个以properties为后缀的文件

例如:

application-dev.properties:开发环境

application-test.properties:测试环境

application-prod.properties:生产环境

指定环境参数

spring.profiles.active=test

到这里,多环境配置完成;

在Spring Boot中多环境配置文件名必须满足:application-{profile}.properties的固定格式,其中{profile}对应你的环境标识;

例如:

application-dev.properties:开发环境

application-test.properties:测试环境

application-prod.properties:生产环境

application.properyies通过spring.profiles.active来具体激活一个或者多个配置文件,如果没有指定任何profile的配置文件的话,spring boot默认会启动application-default.properties;而哪个配置文件运行:

spring.profiles.active=test

就会加载application-test.properties配置文件内容

多环境启动

刚刚讲了在工程中如何配置,那么在真正的环境中如何启动?莫非,改配置吗???当然不是,正解如下。

-Dspring.profiles.active=${PROFILE}

在启动脚本中,增加上面这个,按环境来指定要加载的配置文件

到此,关于“Spring Boot多模块多环境的配置方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


当前标题:SpringBoot多模块多环境的配置方法是什么
当前地址:http://ybzwz.com/article/jgggdg.html