91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

尉氏县| 大英县| 宜阳县| 常德市| 大安市| 和平区| 株洲市| 河池市| 侯马市| 沾化县| 历史| 景德镇市| 澎湖县| 孙吴县| 宝鸡市| 周至县| 嘉峪关市| 和顺县| 建湖县| 南漳县| 双流县| 苍梧县| 三门峡市| 平潭县| 无极县| 眉山市| 大安市| 民和| 尚志市| 尚义县| 红河县| 昌乐县| 旅游| 铜川市| 科尔| 阳西县| 上杭县| 谢通门县| 嘉鱼县| 红原县| 沧州市|