当前位置: 代码网 > it编程>编程语言>Java > 深入解析Spring Boot中的@ConfigurationProperties注解

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

2026年02月13日 Java 我要评论
在spring boot框架中,配置管理是一个核心功能。spring boot提供了多种方式来处理外部配置,其中@configurationproperties注解是一个非常强大且灵活的工具。本文将深

在spring boot框架中,配置管理是一个核心功能。spring boot提供了多种方式来处理外部配置,其中@configurationproperties注解是一个非常强大且灵活的工具。本文将深入探讨@configurationproperties注解的概念、用法、工作原理、配置绑定、类型安全以及如何在实际开发中应用它。

什么是@configurationproperties?

@configurationproperties是spring boot提供的一个注解,用于将外部配置属性绑定到java对象上。通过使用这个注解,开发者可以将配置文件(如application.propertiesapplication.yml)中的属性值自动映射到java类的字段上,从而实现配置的集中管理和类型安全。

@configurationproperties的作用

  1. 配置绑定:将配置文件中的属性值绑定到java类的字段上,实现配置的自动映射。
  2. 类型安全:提供类型安全的配置绑定,避免类型转换错误。
  3. 复杂配置:支持复杂配置结构的绑定,如嵌套对象、集合、map等。
  4. 配置校验:结合@valid注解,实现配置属性的校验。

@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应用的主类或配置类上,使用@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");
        // 关闭 pagehelper banner
        system.setproperty("pagehelper.banner", "false");
//        // 设置无头模式,避免在无图形界面的服务器环境中出现 x11fontmanager 初始化错误
//        system.setproperty("java.awt.headless", "true");
        springapplication.run(yicrmapplication.class, args);
        system.out.println("(♥◠‿◠)ノ゙  yi-crm启动成功   ლ(´ڡ`ლ)゙");
    }
}

到此这篇关于深入解析spring boot中的@configurationproperties注解的文章就介绍到这了,更多相关springboot @configurationproperties内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com