真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SpringBoot中如何配置Profile-創(chuàng)新互聯(lián)

一個(gè)應(yīng)用為了在不同的環(huán)境下工作,常常會(huì)有不同的配置,代碼邏輯處理。Spring Boot 對此提供了簡便的支持。
關(guān)鍵詞:?@Profile、spring.profiles.active

目錄

  • 區(qū)分環(huán)境的配置

    專注于為中小企業(yè)提供做網(wǎng)站、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)江北免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
  • properties 配置

  • yml 配置

  • 區(qū)分環(huán)境的代碼

  • 修飾類

  • 修飾注解

  • 修飾方法

  • 激活 profile

  • 插件激活 profile

  • main 方法激活 profile

  • jar 激活 profile

  • 在 Java 代碼中激活 profile

區(qū)分環(huán)境的配置

properties 配置

假設(shè),一個(gè)應(yīng)用的工作環(huán)境有:dev、test、prod

那么,我們可以添加 4 個(gè)配置文件:

  • applcation.properties?- 公共配置

  • application-dev.properties?- 開發(fā)環(huán)境配置

  • application-test.properties?- 測試環(huán)境配置

  • application-prod.properties?- 生產(chǎn)環(huán)境配置

在?applcation.properties?文件中可以通過以下配置來激活 profile:

spring.profiles.active?=?test

yml 配置

與 properties 文件類似,我們也可以添加 4 個(gè)配置文件:

  • applcation.yml?- 公共配置

  • application-dev.yml?- 開發(fā)環(huán)境配置

  • application-test.yml?- 測試環(huán)境配置

  • application-prod.yml?- 生產(chǎn)環(huán)境配置

在?applcation.yml?文件中可以通過以下配置來激活 profile:

spring:
??profiles:
????active:?prod

此外,yml 文件也可以在一個(gè)文件中完成所有 profile 的配置:

#?激活?prod
spring:
??profiles:
????active:?prod
#?也可以同時(shí)激活多個(gè)?profile
#?spring.profiles.active:?prod,proddb,prodlog
---
#?dev?配置
spring:
??profiles:?dev

#?略去配置

---
spring:
??profiles:?test

#?略去配置

---
spring.profiles:?prod
spring.profiles.include:
??-?proddb
??-?prodlog

---
spring:
??profiles:?proddb

#?略去配置

---
spring:
??profiles:?prodlog
#?略去配置

注意:不同 profile 之間通過?---?分割

區(qū)分環(huán)境的代碼

使用?@Profile?注解可以指定類或方法在特定的 Profile 環(huán)境生效。

修飾類

@Configuration
@Profile("production")
public?class?JndiDataConfig?{

????@Bean(destroyMethod="")
????public?DataSource?dataSource()?throws?Exception?{
????????Context?ctx?=?new?InitialContext();
????????return?(DataSource)?ctx.lookup("java:comp/env/jdbc/datasource");
????}
}

修飾注解

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Profile("production")
public?@interface?Production?{
}

修飾方法

@Configuration
public?class?AppConfig?{

????@Bean("dataSource")
????@Profile("development")
????public?DataSource?standaloneDataSource()?{
????????return?new?EmbeddedDatabaseBuilder()
????????????.setType(EmbeddedDatabaseType.HSQL)
????????????.addScript("classpath:com/bank/config/sql/schema.sql")
????????????.addScript("classpath:com/bank/config/sql/test-data.sql")
????????????.build();
????}

????@Bean("dataSource")
????@Profile("production")
????public?DataSource?jndiDataSource()?throws?Exception?{
????????Context?ctx?=?new?InitialContext();
????????return?(DataSource)?ctx.lookup("java:comp/env/jdbc/datasource");
????}
}

激活 profile

插件激活 profile

spring-boot:run?-Drun.profiles=prod

main 方法激活 profile

--spring.profiles.active=prod

jar 激活 profile

java?-jar?-Dspring.profiles.active=prod?*.jar

在 Java 代碼中激活 profile

直接指定環(huán)境變量來激活 profile:

System.setProperty("spring.profiles.active",?"test");

在 Spring 容器中激活 profile:

AnnotationConfigApplicationContext?ctx?=?new?AnnotationConfigApplicationContext();
ctx.getEnvironment().setActiveProfiles("development");
ctx.register(SomeConfig.class,?StandaloneDataConfig.class,?JndiDataConfig.class);
ctx.refresh();

使用方法:

mvn?clean?package
cd?target
java?-jar?-Dspring.profiles.active=prod?sbe-core-profile.jar

本人免費(fèi)整理了Java高級(jí)資料,涵蓋了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高并發(fā)分布式等教程,一共30G,需要自己領(lǐng)取。
傳送門:https://mp.weixin.qq.com/s/JzddfH-7yNudmkjT0IRL8Q

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)頁標(biāo)題:SpringBoot中如何配置Profile-創(chuàng)新互聯(lián)
本文地址:http://weahome.cn/article/shdhi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部