最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot如何實(shí)現(xiàn)導(dǎo)入其他配置類

 更新時(shí)間:2023年11月27日 10:30:19   作者:陳卸甲  
這篇文章主要介紹了springboot如何實(shí)現(xiàn)導(dǎo)入其他配置類問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

導(dǎo)入其它配置類

您無(wú)需將所有內(nèi)容都@Configuration放在一個(gè)類中。

@Import注釋可以用 于導(dǎo)入額外的配置類。

另外,您可以@ComponentScan用來(lái)自動(dòng)拾取所有 Spring組件,包括@Configuration類。

示例

1.更改配置類

@Configuration
@ImportResource(value = "classpath:beans.xml")
public class SbConfig {
}

2.測(cè)試引用

如果配置類跟主類在同一包及其子包下,無(wú)需引入,在不同包下通過(guò) @Import引入既可。

@SpringBootApplication
@Import(value ={SbConfig.class})
public class SbdemoApplication {
public static void main(String[] args) {
ConfigurableApplicationContext
context=SpringApplication.run(SbdemoApplication.class,
args);
OrderService orderService= (OrderService)
context.getBean("orderService");
orderService.test();
}
}

全注解方式加載 Spring 配置

Spring Boot 推薦我們使用全注解的方式加載 Spring 配置,其實(shí)現(xiàn)方式如下:

1. 使用 @Configuration 注解定義配置類,替換 Spring 的配置文件;

2. 配置類內(nèi)部可以包含有一個(gè)或多個(gè)被 @Bean 注解的方法,這些方法會(huì)

被 AnnotationConfigApplicationContext 或AnnotationConfigWebApplicationContext 類掃描,構(gòu)建 bean 定義(相當(dāng)于 Spring 配置文件中的標(biāo)簽),方法的返回值會(huì)以組件的形式添加到容器中,組件的 id 就是方法名。

Profile(多環(huán)境配置)

在實(shí)際的項(xiàng)目開(kāi)發(fā)中,一個(gè)項(xiàng)目通常會(huì)存在多個(gè)環(huán)境,例如,開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境和生產(chǎn)環(huán)境等。不同環(huán)境的配置也不盡相同,例如開(kāi)發(fā)環(huán)境使用的是開(kāi)發(fā)數(shù)據(jù)庫(kù),測(cè)試環(huán)境使用的是測(cè)試數(shù)據(jù)庫(kù),而生產(chǎn)環(huán)境使用的是線上的正式數(shù)據(jù)庫(kù)。

Profile 為在不同環(huán)境下使用不同的配置提供了支持,我們可以通過(guò)激活、指定參數(shù)等方式快速切換環(huán)境。

多 Profile 文件方式

Spring Boot 的配置文件共有兩種形式:.properties 文件和 .yml 文件,不管哪種形式,它們都能通過(guò)文件名的命名形式區(qū)分出不同的環(huán)境的配置,

文件命名格式為:

其中,{profile} 一般為各個(gè)環(huán)境的名稱或簡(jiǎn)稱,例如 dev、test 和 prod 等等。

properties 配置

在 helloworld 的 src/main/resources 下添加 4 個(gè)配置文件:

  • application.properties:主配置文件
  • application-dev.properties:開(kāi)發(fā)環(huán)境配置文件
  • application-test.properties:測(cè)試環(huán)境配置文件
  • application-prod.properties:生產(chǎn)環(huán)境配置文件

在 application.properties 文件中,指定默認(rèn)服務(wù)器端口號(hào)為 8080,并通

過(guò)以下配置激活生產(chǎn)環(huán)境(prod)的 profile。

#默認(rèn)端口號(hào)
server.port=8080
#激活指定的profile
spring.profiles.active=prod

在 application-dev.properties 中,指定開(kāi)發(fā)環(huán)境端口號(hào)為 8081,配置如下

# 開(kāi)發(fā)環(huán)境
server.port=8081

在 application-test.properties 中,指定測(cè)試環(huán)境端口號(hào)為 8082,配置如下。

# 開(kāi)發(fā)環(huán)境
server.port=8082

在 application-prod.properties 中,指定生產(chǎn)環(huán)境端口號(hào)為 8083,配置如下。

# 開(kāi)發(fā)環(huán)境
server.port=8083

yml 配置

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

  • application.yml:默認(rèn)配置
  • application-dev.yml:開(kāi)發(fā)環(huán)境配置
  • application-test.yml:測(cè)試環(huán)境配置
  • application-prod.yml:生產(chǎn)環(huán)境配置

在 applcation.yml 文件中指定默認(rèn)服務(wù)端口號(hào)為 8080,并通過(guò)以下配置來(lái)激活開(kāi)發(fā)環(huán)境的 profile。

#默認(rèn)配置
server:
  port: 8080
#切換配置
spring:
  profiles:
    active: dev #激活開(kāi)發(fā)環(huán)境配置

在 application-dev.yml 中指定開(kāi)發(fā)環(huán)境端口號(hào)為 8081,配置如下。

#開(kāi)發(fā)環(huán)境
server:
  port: 8081

在 application-test.yml 中指定測(cè)試環(huán)境端口號(hào)為 8082,配置如下。

#測(cè)試環(huán)境
server:
  port: 8082

在 application-prod.yml 中指定生產(chǎn)環(huán)境端口號(hào)為 8083,配置如下。

#生產(chǎn)環(huán)境
server:
  port: 8083

多 Profile 文檔塊模式 在 YAML 配置文件中,可以使用“---”把配置文件分割成了多個(gè)文檔塊,因此 我們可以在不同的文檔塊中針對(duì)不同的環(huán)境進(jìn)行不同的配置,并在第一個(gè) 文檔塊內(nèi)對(duì)配置進(jìn)行切換。

激活 Profile

除了可以在配置文件中激活指定 Profile,Spring Boot 還為我們提供了另外 2 種激活 Profile 的方式:

  • 命令行激活
  • 虛擬機(jī)參數(shù)激活

命令行激活

我們可以將 Spring Boot 項(xiàng)目打包成 JAR 文件,并在通過(guò)命令行運(yùn)行時(shí),配置命令行參數(shù),激活指定的 Profile。

打開(kāi)命令行窗口,跳轉(zhuǎn)到 JAR 文件所在目錄,執(zhí)行以下命令,啟動(dòng)該項(xiàng)目,并激活開(kāi)發(fā)環(huán)境(dev)的 Profile。

以上命令中,--spring.profiles.active=dev 為激活開(kāi)發(fā)環(huán)境(dev)Profile的命令行參數(shù)。

虛擬機(jī)參數(shù)激活

我們還可以在 Spring Boot 項(xiàng)目運(yùn)行時(shí),指定虛擬機(jī)參數(shù)來(lái)激活指定的Profile。

默認(rèn)配置文件

通常情況下,Spring Boot 在啟動(dòng)時(shí)會(huì)將 resources 目錄下的application.properties 或 apllication.yml 作為其默認(rèn)配置文件,我們可以在該配置文件中對(duì)項(xiàng)目進(jìn)行配置,但這并不意味著 Spring Boot 項(xiàng)目中只能存在一個(gè) application.properties 或 application.yml。

默認(rèn)配置文件

Spring Boot 項(xiàng)目中可以存在多個(gè) application.properties 或apllication.yml。

Spring Boot 啟動(dòng)時(shí)會(huì)掃描以下 5 個(gè)位置的 application.properties 或apllication.yml 文件,并將它們作為 Spring boot 的默認(rèn)配置文件。

  • 1. file:./config/
  • 2. file:./config/*/
  • 3. file:./
  • 4. classpath:/config/
  • 5. classpath:/

注:file: 指當(dāng)前項(xiàng)目根目錄;classpath: 指當(dāng)前項(xiàng)目的類路徑,即resources 目錄。

以上所有位置的配置文件都會(huì)被加載,且它們優(yōu)先級(jí)依次降低,序號(hào)越小

優(yōu)先級(jí)越高。其次,位于相同位置的 application.properties 的優(yōu)先級(jí)高于application.yml。

所有位置的文件都會(huì)被加載,高優(yōu)先級(jí)配置會(huì)覆蓋低優(yōu)先級(jí)配置,形成互補(bǔ)配置,即:

  • 存在相同的配置內(nèi)容時(shí),高優(yōu)先級(jí)的內(nèi)容會(huì)覆蓋低優(yōu)先級(jí)的內(nèi)容;
  • 存在不同的配置內(nèi)容時(shí),高優(yōu)先級(jí)和低優(yōu)先級(jí)的配置內(nèi)容取并集

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

威信县| 清水河县| 房山区| 离岛区| 象山县| 肥西县| 吴旗县| 湘乡市| 理塘县| 额尔古纳市| 囊谦县| 揭东县| 云浮市| 察哈| 浦北县| 湘阴县| 黔南| 云南省| 招远市| 武强县| 平乐县| 永登县| 抚顺县| 白河县| 宜阳县| 和政县| 灵山县| 荥阳市| 翁牛特旗| 桑植县| 遵化市| 邳州市| 阳东县| 竹北市| 高邮市| 繁昌县| 漳州市| 云霄县| 保山市| 达州市| 连城县|