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

基于@ConfigurationProperties的三種用法及說明

 更新時間:2026年06月04日 08:35:04   作者:我叫晨曦啊  
SpringBoot配置屬性綁定詳解,介紹@Component若您配置類、@ConfigurationProperties綁定屬性及三種常見應用場景,附帶代碼示例與測試步驟

@ConfigurationProperties

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

本文介紹一下三種場景的使用情況,若有錯誤還請各位大佬批評指正!

第一種

@Component和@ConfigurationProperties放在bean定義類上。

1、新建application.yml配置文件

person:
  id: 1
  name: 張三

2、定義一個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、測試

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注解在配置類的Bean定義方法上。

1、配置文件添加

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

2、新建配置類

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 {
	// 注意:配置文件中是大小寫混合的,prefix中要全部小寫,否則會報錯
    @ConfigurationProperties(prefix = "datasource")
    @Bean
    public DruidDataSource duidDataSource(){
        DruidDataSource dataSource = new DruidDataSource();
        return dataSource;
    }
}

3、測試

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注解到普通類,然后啟動類添加@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、啟動類新加注解

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

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

3、測試

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é)

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

相關(guān)文章

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

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

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

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

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

    Java的Struts框架中配置國際化的資源存儲的要點解析

    這篇文章主要介紹了Java的Struts框架中配置國際化的資源存儲的要點解析,針對用戶所使用的語言來配置資源文件,需要的朋友可以參考下
    2016-04-04
  • java serialVersionUID解決序列化類版本不一致問題面試精講

    java serialVersionUID解決序列化類版本不一致問題面試精講

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

    詳解Java類加載器與雙親委派機制

    這篇文章主要為大家介紹一下Java中的類加載器與雙親委派機制,文中通過示例為大家進行了詳細的介紹,對我們學習Java有一定幫助,需要的可以參考一下
    2022-08-08
  • Java?超詳細講解設計模式之原型模式講解

    Java?超詳細講解設計模式之原型模式講解

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

    Maven項目中將本地依賴庫打包到最終的JAR中的實現(xiàn)

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

    SpringBoot整合easy-es的詳細過程

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

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

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

    java將String字符串轉(zhuǎn)換為List<Long>類型實例方法

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

最新評論

开平市| 元氏县| 荥阳市| 庆城县| 厦门市| 达州市| 宁陵县| 油尖旺区| 普兰店市| 文昌市| 贵德县| 南和县| 襄城县| 潮安县| 简阳市| 荃湾区| 宁强县| 彭阳县| 沧源| 北票市| 鹤壁市| 荥阳市| 无为县| 莱阳市| 徐州市| 方山县| 石家庄市| 临漳县| 吴堡县| 柳州市| 武夷山市| 双辽市| 阿克| 彭州市| 济源市| 吉林市| 昆明市| 武夷山市| 高碑店市| 镇远县| 泽州县|