中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

編輯 SpringBoot | 第五章:多環(huán)境配置

2018-08-01    來(lái)源:importnew

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

前言

寫上一篇看英文資料,耗費(fèi)了心力呀,這章,相對(duì)來(lái)說(shuō)簡(jiǎn)單點(diǎn)。也比較熟悉,但是這很實(shí)用。不扯了,開(kāi)始~

多環(huán)境配置

在開(kāi)發(fā)應(yīng)用時(shí),常用部署的應(yīng)用是多個(gè)的,比如:開(kāi)發(fā)、測(cè)試、聯(lián)調(diào)、生產(chǎn)等不同的應(yīng)用環(huán)境,這些應(yīng)用環(huán)境都對(duì)應(yīng)不同的配置項(xiàng),比如swagger一般上在生產(chǎn)時(shí)是關(guān)閉的;不同環(huán)境數(shù)據(jù)庫(kù)地址、端口號(hào)等都是不盡相同的,要是沒(méi)有多環(huán)境的自由切換,部署起來(lái)是很繁瑣也容易出錯(cuò)的。

maven的多環(huán)境配置

在沒(méi)有使用過(guò)springboot的多環(huán)境配置時(shí),原先是利用mavenprofile功能進(jìn)行多環(huán)境配置,這里我簡(jiǎn)單回顧下。

maven配置

   <profiles>
       <profile>
          <id>dev</id>
          <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
               <pom.port>8080</pom.port>
            </properties>
       </profile>
       <profile>
          <id>test</id>
            <properties>
               <pom.port>8888</pom.port>
            </properties>
       </profile>       
    </profiles>
    <build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*</include>
            </includes>
        </resource>
        <resource>
            <directory>${project.basedir}/src/main/resources</directory>
            <includes>
                <include>**/*.properties</include>
            </includes>
            <!-- 加入此屬性,才會(huì)進(jìn)行過(guò)濾 -->
            <filtering>true</filtering>
        </resource>
    </resources>
    <plugins>
        <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <configuration>
                <encoding>utf-8</encoding>
                <!-- 需要加入,因?yàn)閙aven默認(rèn)的是${},而springbooot 默認(rèn)會(huì)把此替換成@{} -->
                <useDefaultDelimiters>true</useDefaultDelimiters>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
    </build>

然后編譯時(shí),加入-Ptest,則會(huì)替換test環(huán)境下的參數(shù)值。 完整參數(shù):

 mvn clean install -DskipTests -Ptest

application.properties

server.port=${pom.port}

利用maven實(shí)現(xiàn)多環(huán)境配置,比較麻煩的就是每次部署新環(huán)境時(shí),都需要再次指定環(huán)境編譯打包一次。一下進(jìn)入主題,springboot的多環(huán)境,比較優(yōu)雅了許多。

springboot多環(huán)境配置

Profile是Spring針對(duì)不同環(huán)境不同配置的支持。需要滿足application-{profile}.properties,{profile}對(duì)應(yīng)你的環(huán)境標(biāo)識(shí)。如:

  • application-dev.properties:開(kāi)發(fā)環(huán)境
  • application-test.properties:測(cè)試環(huán)境

而指定執(zhí)行哪份配置文件,只需要在application.properties配置spring.profiles.active為對(duì)應(yīng)${profile}的值。

# 指定環(huán)境為dev
spring.profiles.active=dev

則會(huì)加載:application-dev.properties的配置內(nèi)容。

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     : 多環(huán)境應(yīng)用啟動(dòng).

還可以在**命令行方式**激活不同環(huán)境配置,如

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

此時(shí)就會(huì)加載application-test.properties的配置內(nèi)容。?test:

這里順便提一句,可能在不同環(huán)境下,可能加載不同的bean時(shí),可利用@Profile注解來(lái)動(dòng)態(tài)激活

@Profile("dev")//支持?jǐn)?shù)組:@Profile({"dev","test"})
@Configuration
@Slf4j
public class ProfileBean {

    @PostConstruct
    public void init() {
        log.info("dev環(huán)境下激活");
    }    
}

啟動(dòng)時(shí)?刂婆_(tái)輸出:

2018-07-15 15:04:44.540  INFO 11876 --- [           main] c.l.l.springboot.chapter5.ProfileBean    : dev環(huán)境下激活

總結(jié)

目前互聯(lián)網(wǎng)上很多大佬都有SpringBoot系列教程,如有雷同,請(qǐng)多多包涵了。本文是作者在電腦前一字一句敲的,每一步都是親身實(shí)踐過(guò)的。若文中有所錯(cuò)誤之處,還望提出,謝謝。

標(biāo)簽: 互聯(lián)網(wǎng) 數(shù)據(jù)庫(kù)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:Python自動(dòng)化測(cè)試框架有哪些?

下一篇:SpringBoot | 第四章 :日志管理