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

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í)候,無意發(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的使用方式。

先說結(jié)論

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

代碼解釋

@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

這里不做過多說明

@Bean + @ConfigurationProperties

直接看代碼:

// 該配置類上 無 任何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使用在方法上的效果,跟使用在類上的完全沒任何區(qū)別,只是將@ConfigurationProperties的位置換了一個(gè)地方,并無太大區(qū)別吧。

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

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

相關(guān)文章

  • Java多線程之JUC(java.util.concurrent)的常見類(多線程編程常用類)

    Java多線程之JUC(java.util.concurrent)的常見類(多線程編程常用類)

    這篇文章主要給大家介紹了關(guān)于Java多線程之JUC(java.util.concurrent)的常見類(多線程編程常用類)的相關(guān)資料,Java中的JUC(java.util.concurrent)包提供了一些并發(fā)編程中常用的類,這些類可以幫助我們更方便地實(shí)現(xiàn)多線程編程,需要的朋友可以參考下
    2024-02-02
  • mybatis3使用@Select等注解實(shí)現(xiàn)增刪改查操作

    mybatis3使用@Select等注解實(shí)現(xiàn)增刪改查操作

    這篇文章主要介紹了mybatis3使用@Select等注解實(shí)現(xiàn)增刪改查操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Spring之Scope注解使用詳解

    Spring之Scope注解使用詳解

    spring的bean管理中,每個(gè)bean都有對(duì)應(yīng)的scope。在BeanDefinition中就已經(jīng)指定scope,默認(rèn)的RootBeanDefinition的scope是prototype類型,使用@ComponentScan掃描出的BeanDefinition會(huì)指定是singleton,最常使用的也是singleton
    2023-02-02
  • 深入講解Java Maven配置

    深入講解Java Maven配置

    這篇文章主要介紹了Maven的安裝配置詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-10-10
  • Spring Security基于json登錄實(shí)現(xiàn)過程詳解

    Spring Security基于json登錄實(shí)現(xiàn)過程詳解

    這篇文章主要介紹了Spring Security基于json登錄實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 一文教會(huì)你如何搭建vue+springboot項(xiàng)目

    一文教會(huì)你如何搭建vue+springboot項(xiàng)目

    最近在搗鼓?SpringBoot?與?Vue?整合的項(xiàng)目,所以下面這篇文章主要給大家介紹了關(guān)于如何通過一篇文章教會(huì)你搭建vue+springboot項(xiàng)目,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • jar包啟動(dòng)時(shí)如何讀取配置文件優(yōu)先順序

    jar包啟動(dòng)時(shí)如何讀取配置文件優(yōu)先順序

    SpringBoot啟動(dòng)時(shí)讀取配置文件有優(yōu)先順序,從高到低為:bat文件目錄/config、bat文件目錄、classpath/config、classpath,可以通過spring.config.location指定配置位置,覆蓋默認(rèn)順序,優(yōu)先級(jí)高的配置會(huì)覆蓋低的配置
    2026-05-05
  • 如何使用mybatis-plus實(shí)現(xiàn)分頁查詢功能

    如何使用mybatis-plus實(shí)現(xiàn)分頁查詢功能

    最近在研究mybatis,然后就去找簡化mybatis開發(fā)的工具,發(fā)現(xiàn)就有通用Mapper和mybatis-plus兩個(gè)比較好的可是使用,可是經(jīng)過對(duì)比發(fā)現(xiàn)還是mybatis-plus比較好,下面這篇文章主要給大家介紹了關(guān)于如何使用mybatis-plus實(shí)現(xiàn)分頁查詢功能的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • springboot?@Async?注解如何實(shí)現(xiàn)方法異步

    springboot?@Async?注解如何實(shí)現(xiàn)方法異步

    這篇文章主要介紹了springboot?@Async?注解如何實(shí)現(xiàn)方法異步,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 解析Java虛擬機(jī)中類的初始化及加載器的父委托機(jī)制

    解析Java虛擬機(jī)中類的初始化及加載器的父委托機(jī)制

    這篇文章主要介紹了Java虛擬機(jī)中類的初始化及加載器的父委托機(jī)制,包括命名空間等深層次的知識(shí)點(diǎn)講解,需要的朋友可以參考下
    2015-11-11

最新評(píng)論

永和县| 大邑县| 额济纳旗| 荣昌县| 广汉市| 开鲁县| 上蔡县| 将乐县| 新闻| 宜州市| 巨野县| 安西县| 临高县| 阜康市| 千阳县| 闸北区| 射洪县| 马关县| 黄浦区| 高淳县| 荆门市| 改则县| 达尔| 牙克石市| 攀枝花市| 沭阳县| 靖宇县| 洪洞县| 积石山| 牙克石市| 达拉特旗| 河北省| 额尔古纳市| 富民县| 姚安县| 商水县| 盖州市| 涟源市| 肇东市| 博乐市| 苏尼特左旗|