美文网首页Java 杂谈互联网科技
编辑 SpringBoot|第五章:多环境配置

编辑 SpringBoot|第五章:多环境配置

作者: Java黎先生 | 来源:发表于2018-08-23 22:38 被阅读8次

    前言

    写上一篇看英文资料,耗费了心力呀,这章,相对来说简单点。也比较熟悉,但是这很实用。不扯了,开始~

    多环境配置

    在开发应用时,常用部署的应用是多个的,比如:开发、测试、联调、生产等不同的应用环境,这些应用环境都对应不同的配置项,比如swagger一般上在生产时是关闭的;不同环境数据库地址、端口号等都是不尽相同的,要是没有多环境的自由切换,部署起来是很繁琐也容易出错的。

    maven的多环境配置

    在没有使用过springboot的多环境配置时,原先是利用maven的profile功能进行多环境配置,这里我简单回顾下。

    maven配置

    dev

    true

    8080

    test

    8888

    src/main/resources

    **/*

    ${project.basedir}/src/main/resources

    **/*.properties

    true

    maven-resources-plugin

    utf-8

    true

    org.springframework.boot

    spring-boot-maven-plugin

    然后编译时,加入-Ptest,则会替换test环境下的参数值。 完整参数:

    1

    mvn clean install -DskipTests -Ptest

    application.properties

    1

    server.port=${pom.port}

    利用maven实现多环境配置,比较麻烦的就是每次部署新环境时,都需要再次指定环境编译打包一次。一下进入主题,springboot的多环境,比较优雅了许多。

    springboot多环境配置

    Profile是Spring针对不同环境不同配置的支持。需要满足application-{profile}.properties,{profile}对应你的环境标识。如:

    application-dev.properties:开发环境

    application-test.properties:测试环境

    而指定执行哪份配置文件,只需要在application.properties配置spring.profiles.active为对应${profile}的值。

    # 指定环境为dev

    spring.profiles.active=dev

    则会加载:application-dev.properties的配置内容。

    2018-07-15 14:52:41.304 INFO 15496 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)

    2018-07-15 14:52:41.310 INFO 15496 --- [ main] c.l.l.s.chapter5.Chapter5Application : Started Chapter5Application in 8.506 seconds (JVM running for 10.81)

    2018-07-15 14:52:41.316 INFO 15496 --- [ main] c.l.l.s.chapter5.Chapter5Application : 多环境应用启动.

    还可以在**命令行方式**激活不同环境配置,如

    java -jar xxx.jar --spring.profiles.active=test

    此时就会加载application-test.properties的配置内容。 test:

    这里顺便提一句,可能在不同环境下,可能加载不同的bean时,可利用@Profile注解来动态激活

    @Profile("dev")//支持数组:@Profile({"dev","test"})

    @Configuration

    @Slf4j

    public class ProfileBean {

    @PostConstruct

    public void init() {

    log.info("dev环境下激活");

    }

    }

    启动时。控制台输出:

    1

    2018-07-15 15:04:44.540 INFO 11876 --- [ main] c.l.l.springboot.chapter5.ProfileBean : dev环境下激活

    如果你现在在JAVA这条路上挣扎,也想在IT行业拿高薪,可以参加我们的训练营课程,选择最适合自己的课程学习,技术大牛亲授,7个月后,进入名企拿高薪。我们的课程内容有:Java工程化、高性能及分布式、高性能、高架构、性能调优、Spring,MyBatis,Netty源码分析和大数据等多个知识点。如果你想拿高薪的,想学习的,想就业前景好的,想跟别人竞争能取得优势的,想进阿里面试但担心面试不过的,你都可以来,q群号为:835638062

    注:加群要求

    1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加。

    2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加。

    3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的,可以加。

    4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的可以加。

    5.阿里Java高级大牛直播讲解知识点,分享知识,多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知

    相关文章

      网友评论

        本文标题:编辑 SpringBoot|第五章:多环境配置

        本文链接:https://www.haomeiwen.com/subject/uerviftx.html