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

基于@ConfigurationProperties的三種用法及說(shuō)明

 更新時(shí)間:2026年06月04日 08:35:04   作者:我叫晨曦啊  
SpringBoot配置屬性綁定詳解,介紹@Component若您配置類(lèi)、@ConfigurationProperties綁定屬性及三種常見(jiàn)應(yīng)用場(chǎng)景,附帶代碼示例與測(cè)試步驟

@ConfigurationProperties

告訴SpringBoot將本類(lèi)中的所有屬性和配置文件中相關(guān)的配置進(jìn)行綁定,若進(jìn)行綁定,首先這個(gè)類(lèi)要受Spring管理,spring才能操作里面的數(shù)據(jù),有三種使用場(chǎng)景,而通常情況下使用的最多的只是其中的一種場(chǎng)景。

本文介紹一下三種場(chǎng)景的使用情況,若有錯(cuò)誤還請(qǐng)各位大佬批評(píng)指正!

第一種

@Component和@ConfigurationProperties放在bean定義類(lèi)上。

1、新建application.yml配置文件

person:
  id: 1
  name: 張三

2、定義一個(gè)bean

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.io.Serializable;

@Component
@ConfigurationProperties(prefix = "person")
@Data
public class Person implements Serializable {
    private Integer id;
    private String name;
}

3、測(cè)試

import com.gwm.pojo.Person;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
public class SpringBootConfigTest {

    @Autowired
    private Person person;
    
    @Test
    public void  test01(){
        System.out.println(person.getId() +"==="+ person.getName());
    }
}

4、結(jié)果

第二種

@ConfigurationProperties和@Bean注解在配置類(lèi)的Bean定義方法上。

1、配置文件添加

dataSource:
  url: jdbc:mysql://localhost:3306/springboottest?allowMultiQueries=true&serverTimezone=Asia/Shanghai

2、新建配置類(lèi)

import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class TestConfig {
	// 注意:配置文件中是大小寫(xiě)混合的,prefix中要全部小寫(xiě),否則會(huì)報(bào)錯(cuò)
    @ConfigurationProperties(prefix = "datasource")
    @Bean
    public DruidDataSource duidDataSource(){
        DruidDataSource dataSource = new DruidDataSource();
        return dataSource;
    }
}

3、測(cè)試

import com.alibaba.druid.pool.DruidDataSource;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
public class SpringBootConfigTest {
    @Autowired
    private DruidDataSource druidDataSource;

    @Test
    public void  test02(){
        System.out.println(druidDataSource.getUrl());
    }
}

4、結(jié)果

第三種

@ConfigurationProperties注解到普通類(lèi),然后啟動(dòng)類(lèi)添加@EnableConfigurationProperties定義為Bean。此處以第一種的代碼為例,做修改即可。

1、注釋@Component注解

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.io.Serializable;

//@Component
@ConfigurationProperties(prefix = "person")
@Data
public class Person implements Serializable {
    private Integer id;
    private String name;
}

2、啟動(dòng)類(lèi)新加注解

import com.gwm.pojo.Person;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;

// 注解后面要加上開(kāi)啟配置的類(lèi)----->類(lèi)名.class
@EnableConfigurationProperties({Person.class})
@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

3、測(cè)試

import com.gwm.pojo.Person;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
public class SpringBootConfigTest {

    @Autowired
    private Person person;
    
    @Test
    public void  test01(){
        System.out.println(person.getId() +"==="+ person.getName());
    }
}

4、結(jié)果

總結(jié)

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

相關(guān)文章

  • IntelliJ IDEA中Scala、sbt、maven配置教程

    IntelliJ IDEA中Scala、sbt、maven配置教程

    這篇文章主要介紹了IntelliJ IDEA中Scala、sbt、maven配置教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Java使用Apache compress實(shí)現(xiàn)文件夾壓縮成Zip包

    Java使用Apache compress實(shí)現(xiàn)文件夾壓縮成Zip包

    Apache common提供了很多實(shí)用的工具包,這篇文章主要來(lái)和大家介紹一下Java如何使用Apache compress包實(shí)現(xiàn)文件夾壓縮成Zip包,希望對(duì)大家有所幫助
    2024-01-01
  • Java的Struts框架中配置國(guó)際化的資源存儲(chǔ)的要點(diǎn)解析

    Java的Struts框架中配置國(guó)際化的資源存儲(chǔ)的要點(diǎn)解析

    這篇文章主要介紹了Java的Struts框架中配置國(guó)際化的資源存儲(chǔ)的要點(diǎn)解析,針對(duì)用戶(hù)所使用的語(yǔ)言來(lái)配置資源文件,需要的朋友可以參考下
    2016-04-04
  • java serialVersionUID解決序列化類(lèi)版本不一致問(wèn)題面試精講

    java serialVersionUID解決序列化類(lèi)版本不一致問(wèn)題面試精講

    這篇文章主要為大家介紹了serialVersionUID解決序列化類(lèi)版本不一致問(wèn)題的面試精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • 詳解Java類(lèi)加載器與雙親委派機(jī)制

    詳解Java類(lèi)加載器與雙親委派機(jī)制

    這篇文章主要為大家介紹一下Java中的類(lèi)加載器與雙親委派機(jī)制,文中通過(guò)示例為大家進(jìn)行了詳細(xì)的介紹,對(duì)我們學(xué)習(xí)Java有一定幫助,需要的可以參考一下
    2022-08-08
  • Java?超詳細(xì)講解設(shè)計(jì)模式之原型模式講解

    Java?超詳細(xì)講解設(shè)計(jì)模式之原型模式講解

    原型模式是用于創(chuàng)建重復(fù)的對(duì)象,同時(shí)又能保證性能。這種類(lèi)型的設(shè)計(jì)模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對(duì)象的最佳方式,今天通過(guò)本文給大家介紹下Java?原型設(shè)計(jì)模式,感興趣的朋友一起看看吧
    2022-03-03
  • Maven項(xiàng)目中將本地依賴(lài)庫(kù)打包到最終的JAR中的實(shí)現(xiàn)

    Maven項(xiàng)目中將本地依賴(lài)庫(kù)打包到最終的JAR中的實(shí)現(xiàn)

    本文主要介紹了Maven項(xiàng)目中將本地依賴(lài)庫(kù)打包到最終的JAR中的實(shí)現(xiàn),將本地依賴(lài)安裝到Maven本地倉(cāng)庫(kù),可以避免使用system作用域帶來(lái)的不可移植性和打包問(wèn)題,感興趣的可以了解一下
    2025-05-05
  • SpringBoot整合easy-es的詳細(xì)過(guò)程

    SpringBoot整合easy-es的詳細(xì)過(guò)程

    本文介紹了EasyES,一個(gè)基于Elasticsearch的ORM框架,旨在簡(jiǎn)化開(kāi)發(fā)流程并提高效率,EasyES支持SpringBoot框架,并提供了CRUD操作、批量操作和查詢(xún)操作等方法,文章還列舉了使用EasyES時(shí)可能遇到的技術(shù)難題及解決方法,感興趣的朋友一起看看吧
    2025-02-02
  • Nacos Namespace/Group/DataID三者關(guān)系解讀

    Nacos Namespace/Group/DataID三者關(guān)系解讀

    本文介紹了Nacos中的命名空間(Namespace)、配置分組(Group)和配置集ID(DataID)的概念,并詳細(xì)說(shuō)明了它們之間的關(guān)系和應(yīng)用場(chǎng)景,同時(shí),還提供了三者在不同環(huán)境下的配置切換方案,包括DataID方案、Group方案和命名空間方案
    2024-12-12
  • java將String字符串轉(zhuǎn)換為L(zhǎng)ist<Long>類(lèi)型實(shí)例方法

    java將String字符串轉(zhuǎn)換為L(zhǎng)ist<Long>類(lèi)型實(shí)例方法

    在本篇文章里小編給大家整理的是關(guān)于java將String字符串轉(zhuǎn)換為L(zhǎng)ist<Long>類(lèi)型實(shí)例方法,需要的朋友們可以參考下。
    2020-03-03

最新評(píng)論

德安县| 北票市| 新绛县| 嘉善县| 南通市| 左云县| 库尔勒市| 浠水县| 东阳市| 本溪市| 广平县| 聂荣县| 南召县| 阿拉善盟| 锡林郭勒盟| 闵行区| 霍城县| 许昌市| 乌兰察布市| 高雄市| 宜春市| 平顺县| 光山县| 祁门县| 读书| 石门县| 运城市| 隆回县| 共和县| 全州县| 德令哈市| 麻城市| 马公市| 平湖市| 汉川市| 武隆县| 玛多县| 中超| 鸡东县| 中牟县| 云浮市|