亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring Boot 中如何配置 Profile

發布時間:2020-06-26 14:17:45 來源:網絡 閱讀:273 作者:Java筆記丶 欄目:編程語言
一個應用為了在不同的環境下工作,常常會有不同的配置,代碼邏輯處理。Spring Boot 對此提供了簡便的支持。
關鍵詞:?@Profile、spring.profiles.active

目錄

  • 區分環境的配置

  • properties 配置

  • yml 配置

  • 區分環境的代碼

  • 修飾類

  • 修飾注解

  • 修飾方法

  • 激活 profile

  • 插件激活 profile

  • main 方法激活 profile

  • jar 激活 profile

  • 在 Java 代碼中激活 profile

區分環境的配置

properties 配置

假設,一個應用的工作環境有:dev、test、prod

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

  • applcation.properties?- 公共配置

  • application-dev.properties?- 開發環境配置

  • application-test.properties?- 測試環境配置

  • application-prod.properties?- 生產環境配置

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

spring.profiles.active?=?test

yml 配置

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

  • applcation.yml?- 公共配置

  • application-dev.yml?- 開發環境配置

  • application-test.yml?- 測試環境配置

  • application-prod.yml?- 生產環境配置

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

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

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

#?激活?prod
spring:
??profiles:
????active:?prod
#?也可以同時激活多個?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 之間通過?---?分割

區分環境的代碼

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

修飾類

@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

直接指定環境變量來激活 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


本人免費整理了Java高級資料,涵蓋了Java、RedisMongoDBMySQL、Zookeeper、Spring Cloud、Dubbo高并發分布式等教程,一共30G,需要自己領取。
傳送門:https://mp.weixin.qq.com/s/JzddfH-7yNudmkjT0IRL8Q

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蒲江县| 沾益县| 龙里县| 芮城县| 福泉市| 大埔县| 唐河县| 闸北区| 苗栗市| 清水县| 确山县| 满洲里市| 金昌市| 阿图什市| 永寿县| 依安县| 衡东县| 宝鸡市| 深州市| 吴川市| 修文县| 仲巴县| 阜宁县| 深泽县| 南汇区| 辽宁省| 保德县| 孝义市| 萨嘎县| 大理市| 绥江县| 六安市| 平山县| 堆龙德庆县| 鱼台县| 德化县| 奇台县| 宁津县| 汉中市| 杨浦区| 大方县|