欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring中的@ConfigurationProperties在方法上的使用詳解

 更新時(shí)間:2024年01月31日 10:43:12   作者:搏·夢(mèng)  
這篇文章主要介紹了Spring中的@ConfigurationProperties在方法上的使用詳解,@ConfigurationProperties應(yīng)該經(jīng)常被使用到,作用在類上的時(shí)候,將該類的屬性取值?與配置文件綁定,并生成配置bean對(duì)象,放入spring容器中,提供給其他地方使用,需要的朋友可以參考下

前言

在學(xué)習(xí)spring的時(shí)候,@ConfigurationProperties應(yīng)該經(jīng)常被使用到,作用在類上的時(shí)候,將該類的屬性取值 與配置文件綁定,并生成配置bean對(duì)象,放入spring容器中,提供給其他地方使用。

在工作中,或者看spring內(nèi)部代碼的時(shí)候,無(wú)意發(fā)現(xiàn)@ConfigurationProperties居然還可以用在方法上,點(diǎn)開@ConfigurationProperties注解的時(shí)候,我們發(fā)現(xiàn):

// targer:可作用在類、方法上
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ConfigurationProperties {
}

似乎平時(shí)我們都是用在類上的,因此特意寫這篇文章記錄一下,記錄@ConfigurationProperties的使用方式。

先說(shuō)結(jié)論

  • @ConfigurationProperties無(wú)論是使用在類上,或用在方法上,其本質(zhì)都是將某個(gè)配置類的屬性值與配置文件application.yml中內(nèi)容進(jìn)行綁定。
  • 其使用場(chǎng)景用如下三種:
    • @ConfigurationProperties + @Component + 在類上使用的場(chǎng)景
    • @ConfigurationProperties + @EnableConfigurationProperties 在類上使用的場(chǎng)景
    • @ConfigurationProperties + @Bean 在方法上使用的場(chǎng)景

代碼解釋

@Component + @ConfigurationProperties

在類上使用@ConfigurationProperties效果:

@Component
@ConfigurationProperties(prefix = "test.config")
@Setter
@ToString
public class TestConfigDemo {
    private String username;
    private String pwd;
}
// yml
test:
  config:
    username: test-config-username
    pwd: test-config-pwd
// 測(cè)試代碼
@Component
public class TestConfigAppRunner implements ApplicationRunner {
    @Autowired
    TestConfigDemo testConfigDemo;
    @Override
    public void run(ApplicationArguments args) throws Exception {
        System.out.println(testConfigDemo);
    }
}

在這里插入圖片描述

從上述可看出@ConfigurationProperties的作用,而@ConfigurationProperties的使用則是在配置類上需要有set方法、以及是需要@Component。

@EnableConfigurationProperties + @ConfigurationProperties

這里不做過(guò)多說(shuō)明

@Bean + @ConfigurationProperties

直接看代碼:

// 該配置類上 無(wú) 任何spring的注解
@Setter
@ToString
public class TestConfigDemo {
    private String username;
    private String pwd;
}
// 準(zhǔn)備個(gè)@Configuration 配置類
@Configuration
public class ConfigurationDemo {
	// 這里將TestConfigDemo 配置類 生成bean對(duì)象
    // 此時(shí):TestConfigDemo里面的屬性將與配置文件yml內(nèi)容進(jìn)行綁定
    @Bean
    @ConfigurationProperties(prefix = "test.config")
    public TestConfigDemo testConfigDemo(){
        return new TestConfigDemo();
    }
}
@Component
public class TestConfigAppRunner implements ApplicationRunner {

    @Autowired
    TestConfigDemo testConfigDemo;

    @Override
    public void run(ApplicationArguments args) throws Exception {
        System.out.println(testConfigDemo);
    }
}

在這里插入圖片描述

看到上述的例子,想必大家內(nèi)心此時(shí)的想法是:@ConfigurationProperties使用在方法上的效果,跟使用在類上的完全沒(méi)任何區(qū)別,只是將@ConfigurationProperties的位置換了一個(gè)地方,并無(wú)太大區(qū)別吧。

但其出現(xiàn)必然有其存在意義: 個(gè)人覺(jué)得,其作用就是,如果項(xiàng)目中有個(gè)@Configuration這種類的話,可以把config配置類的注解內(nèi)容等都放入該類中,達(dá)到一種配置好管理的效果,之后如果要改什么內(nèi)容,只要看@Configuration這種類即可,無(wú)需到處找。

到此這篇關(guān)于Spring中的@ConfigurationProperties在方法上的使用詳解的文章就介紹到這了,更多相關(guān)@ConfigurationProperties的使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Springboot熱部署實(shí)現(xiàn)原理及實(shí)例詳解

    Springboot熱部署實(shí)現(xiàn)原理及實(shí)例詳解

    這篇文章主要介紹了Springboot熱部署實(shí)現(xiàn)原理及實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 這么設(shè)置IDEA中的Maven,再也不用擔(dān)心依賴下載失敗了

    這么設(shè)置IDEA中的Maven,再也不用擔(dān)心依賴下載失敗了

    今天給大家?guī)?lái)一個(gè)IDEA中Maven設(shè)置的小技巧.這個(gè)技巧可以說(shuō)非常有用,學(xué)會(huì)設(shè)置之后,再也不用擔(dān)心maven依賴下載變慢的問(wèn)題,需要的朋友可以參考下
    2021-05-05
  • SpringMVC打印請(qǐng)求參數(shù)和響應(yīng)數(shù)據(jù)最優(yōu)方案

    SpringMVC打印請(qǐng)求參數(shù)和響應(yīng)數(shù)據(jù)最優(yōu)方案

    項(xiàng)目中經(jīng)常需要打印http請(qǐng)求的參數(shù)和響應(yīng)數(shù)據(jù),本文給大家講解如何在SpringMVC打印請(qǐng)求參數(shù)和響應(yīng)數(shù)據(jù)最優(yōu)方案,感興趣的朋友跟隨小編一起看看吧
    2023-07-07
  • IDEA2022.2的簡(jiǎn)介、下載與安裝、配置教程

    IDEA2022.2的簡(jiǎn)介、下載與安裝、配置教程

    IDEA是JetBrains公司推出一個(gè)集成開發(fā)工具,是Java開發(fā)工具中的翹楚,基于這個(gè)開發(fā)工具可以快速開發(fā)我們的Java相關(guān)項(xiàng)目,本文重點(diǎn)給大家介紹IDEA2022.2的簡(jiǎn)介、下載與安裝、初步配置,感興趣的朋友一起看看吧
    2022-11-11
  • Java中數(shù)據(jù)庫(kù)常用的兩把鎖之樂(lè)觀鎖和悲觀鎖

    Java中數(shù)據(jù)庫(kù)常用的兩把鎖之樂(lè)觀鎖和悲觀鎖

    這篇文章主要介紹了數(shù)據(jù)庫(kù)常用的兩把鎖之樂(lè)觀鎖和悲觀鎖,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Kotlin中常見(jiàn)的List使用示例教程

    Kotlin中常見(jiàn)的List使用示例教程

    filter 就像其本意一樣,可以通過(guò) filter 對(duì) Kotlin list 進(jìn)行過(guò)濾,本文重點(diǎn)給大家介紹Kotlin中常見(jiàn)的List使用,感興趣的朋友一起看看吧
    2023-11-11
  • 異常解決SpringBoot項(xiàng)目啟動(dòng)卡住,無(wú)任何異常信息問(wèn)題

    異常解決SpringBoot項(xiàng)目啟動(dòng)卡住,無(wú)任何異常信息問(wèn)題

    這篇文章主要介紹了異常解決SpringBoot項(xiàng)目啟動(dòng)卡住,無(wú)任何異常信息問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Java基礎(chǔ)之刪除文本文件中特定行的內(nèi)容

    Java基礎(chǔ)之刪除文本文件中特定行的內(nèi)容

    這篇文章主要介紹了Java基礎(chǔ)之刪除文本文件中特定行的內(nèi)容,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Kotlin Coroutines執(zhí)行異步加載示例詳解

    Kotlin Coroutines執(zhí)行異步加載示例詳解

    這篇文章主要給大家介紹了關(guān)于Kotlin Coroutines執(zhí)行異步加載的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • MyBatisPlus-QueryWrapper多條件查詢及修改方式

    MyBatisPlus-QueryWrapper多條件查詢及修改方式

    這篇文章主要介紹了MyBatisPlus-QueryWrapper多條件查詢及修改方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06

最新評(píng)論