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

深入解析Spring Boot中的@ConfigurationProperties注解

 更新時間:2026年02月13日 09:08:43   作者:java進階之路2023  
本文主要介紹了深入解析Spring Boot中的@ConfigurationProperties注解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

在Spring Boot框架中,配置管理是一個核心功能。Spring Boot提供了多種方式來處理外部配置,其中@ConfigurationProperties注解是一個非常強大且靈活的工具。本文將深入探討@ConfigurationProperties注解的概念、用法、工作原理、配置綁定、類型安全以及如何在實際開發(fā)中應(yīng)用它。

什么是@ConfigurationProperties?

@ConfigurationProperties是Spring Boot提供的一個注解,用于將外部配置屬性綁定到Java對象上。通過使用這個注解,開發(fā)者可以將配置文件(如application.propertiesapplication.yml)中的屬性值自動映射到Java類的字段上,從而實現(xiàn)配置的集中管理和類型安全。

@ConfigurationProperties的作用

  1. 配置綁定:將配置文件中的屬性值綁定到Java類的字段上,實現(xiàn)配置的自動映射。
  2. 類型安全:提供類型安全的配置綁定,避免類型轉(zhuǎn)換錯誤。
  3. 復雜配置:支持復雜配置結(jié)構(gòu)的綁定,如嵌套對象、集合、Map等。
  4. 配置校驗:結(jié)合@Valid注解,實現(xiàn)配置屬性的校驗。

@ConfigurationProperties的基本用法

1. 定義配置類

首先,定義一個Java類,用于綁定配置屬性。使用@ConfigurationProperties注解標記該類,并指定前綴(prefix)。

示例代碼:

package com.yicrm.biz.config;


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

/**
 * <p>
 * uops-service配置
 * </p>
 *
 * @author zhaozhijun
 * @since 2026-01-07
 */

@Data
@Component
@ConfigurationProperties(prefix = "media-service")
public class MediaServiceConfig {

    //短視頻路徑
    private String path;

    //短視頻路徑-特殊租戶
    private String path2;

    //直播路徑
    private String broadcastPath;
    private String broadcastPath2;
    //token
    private String token;

    private String userId;

    private String companyId;
}

解釋:

  • @ConfigurationProperties(prefix = "app"):指定配置屬性的前綴為app
  • @Component:將該類注冊為Spring Bean,使其可以被Spring容器管理。

2. 配置文件

application.propertiesapplication.yml文件中定義配置屬性。

示例代碼(application.properties):

media-service:
  path: https://***.ai/media-service/internal/dataApi/video/getCompanyCoreMetrics
  token: a5a6ae52b97f08e6847bbaf9bc054c13af797525
  userId: 3569
  companyId: 311

3. 啟用配置屬性支持

在Spring Boot應(yīng)用的主類或配置類上,使用@EnableConfigurationProperties注解啟用配置屬性支持。

package com.yicrm;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;

/**
 * 啟動程序
 */
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@EnableConfigurationProperties(AppProperties.class)
public class YiCrmApplication {
    public static void main(String[] args) {
        // System.setProperty("spring.devtools.restart.enabled", "false");
        // 關(guān)閉 PageHelper banner
        System.setProperty("pagehelper.banner", "false");
//        // 設(shè)置無頭模式,避免在無圖形界面的服務(wù)器環(huán)境中出現(xiàn) X11FontManager 初始化錯誤
//        System.setProperty("java.awt.headless", "true");
        SpringApplication.run(YiCrmApplication.class, args);
        System.out.println("(????)??  YI-CRM啟動成功   ?(′?`?)?");
    }
}

到此這篇關(guān)于深入解析Spring Boot中的@ConfigurationProperties注解的文章就介紹到這了,更多相關(guān)SpringBoot @ConfigurationProperties內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java可重入鎖的實現(xiàn)示例

    Java可重入鎖的實現(xiàn)示例

    在java中,可重入鎖分為兩種,即synchronized鎖以及ReentrantLock及其實現(xiàn),文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2024-02-02
  • SpringBoot登錄認證前后端實現(xiàn)方案:SpringBoot + Mybatis + JWT(圖文實例)

    SpringBoot登錄認證前后端實現(xiàn)方案:SpringBoot + Mybatis +&

    本文展示如何在Spring生態(tài)系統(tǒng)中整合IOC/DI、MyBatis、MD5加密、Session/Cookie管理、JWT令牌和攔截器,以實現(xiàn)一個企業(yè)級的認證方案,前端使用HTML/CSS/JavaScript/JQuery,后端使用SpringBoot+MyBatis+JWT,通過統(tǒng)一返回結(jié)果封裝和圖形驗證碼,提高了API的可維護性和安全性
    2025-10-10
  • java實現(xiàn)的RC4加密解密算法示例

    java實現(xiàn)的RC4加密解密算法示例

    這篇文章主要介紹了java實現(xiàn)的RC4加密解密算法,結(jié)合具體實例形式分析了java RC4加密解密算法的實現(xiàn)與使用技巧,需要的朋友可以參考下
    2017-06-06
  • Java中的SynchronousQueue阻塞隊列及使用場景解析

    Java中的SynchronousQueue阻塞隊列及使用場景解析

    這篇文章主要介紹了Java中的SynchronousQueue阻塞隊列及使用場景解析,SynchronousQueue 是 Java 中的一個特殊的阻塞隊列,它的主要特點是它的容量為0,這意味著 SynchronousQueue不會存儲任何元素,需要的朋友可以參考下
    2023-12-12
  • 如何使用JDBC實現(xiàn)工具類抽取

    如何使用JDBC實現(xiàn)工具類抽取

    這篇文章主要介紹了如何使用JDBC實現(xiàn)工具類抽取,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • java中hashmap的底層數(shù)據(jù)結(jié)構(gòu)與實現(xiàn)原理

    java中hashmap的底層數(shù)據(jù)結(jié)構(gòu)與實現(xiàn)原理

    Hashmap是java面試中經(jīng)常遇到的面試題,大部分都會問其底層原理與實現(xiàn),本人也是被這道題問慘了,為了能夠溫故而知新,特地寫了這篇文章,以便時時學習
    2021-08-08
  • 一文詳細地講解Java異常及要如何處理

    一文詳細地講解Java異常及要如何處理

    在Java中異常處理是一種重要的編程概念,用于處理程序執(zhí)行過程中可能出現(xiàn)的錯誤或異常情況,這篇文章主要介紹了Java異常及要如何處理的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-09-09
  • Mac使用Idea配置傳統(tǒng)SSM項目(非maven項目)

    Mac使用Idea配置傳統(tǒng)SSM項目(非maven項目)

    本文主要介紹了Mac使用Idea配置傳統(tǒng)SSM項目(非maven項目),將展示如何設(shè)置項目結(jié)構(gòu)、添加依賴關(guān)系等,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • Mybatis的插件運行原理及如何編寫一個插件

    Mybatis的插件運行原理及如何編寫一個插件

    這篇文章主要介紹了Mybatis的插件運行原理及如何編寫一個插件 ,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • 一文搞懂Java中的序列化與反序列化

    一文搞懂Java中的序列化與反序列化

    序列化是將對象轉(zhuǎn)換成二進制字節(jié)流的過程;反序列化是從二進制字節(jié)流中恢復對象的過程。文中降通過示例詳解二者的使用與區(qū)別,需要的可以參考一下
    2022-08-08

最新評論

南投市| 北辰区| 莱芜市| 肇源县| 同德县| 青州市| 蓬莱市| 信丰县| 抚远县| 巴林右旗| 那坡县| 黄山市| 齐齐哈尔市| 江永县| 衡山县| 固镇县| 读书| 苗栗县| 武威市| 桑日县| 文登市| 富蕴县| 高要市| 高台县| 龙游县| 英山县| 垣曲县| 浮梁县| 白银市| 宾阳县| 镇雄县| 云霄县| 红河县| 铁力市| 武宁县| 盐边县| 普兰店市| 临沭县| 巩义市| 会东县| 凤山县|