springboot注解之@ConfigurationProperties注解

这篇具有很好参考价值的文章主要介绍了springboot注解之@ConfigurationProperties注解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一 . 什么是@ConfigurationProperties注解

二 . @ConfigurationProperties的参数解释

三  举例说明


一 . 什么是@ConfigurationProperties注解

 在 SpringBoot 中,当想需要获取到配置文件数据时,除了可以用 Spring 自带的 @Value 注解外,SpringBoot 还提供了一种更加方便的方式:@ConfigurationProperties。只要在 Bean 上添加上了这个注解,指定好配置文件的前缀,那么对应的配置文件数据就会自动填充到 Bean 中。

在编写项目代码时,我们要求更灵活的配置,更好的模块化整合。在 Spring Boot 项目中,为满足以上要求,我们将大量的参数配置在 application.properties 或 application.yml 文件中,通过 @ConfigurationProperties 注解,我们可以方便的获取这些参数值

在日常开发实践中,经常需要通过@Value注解读取、加载配置文件中的自定义配置项。当存在大量自定义配置项时,就需要很多个@Value注解一一绑定,显然不够优雅。所以我们采用另一种方式,即通过@ConfigurationProperties注解实现。

二 . @ConfigurationProperties的参数解释

参数一:value:
前缀,用于识别properties/yml文件里需要映射的属性的统一前缀
参数二:prefix:
前缀,用于识别properties/yml文件里需要映射的属性的统一前缀
参数三:ignoreInvalidFields:false
是否忽略非法值,比如将一个字符串 “foo” 赋值给 bool 值,不忽略的话会报启动异常。
参数四:ignoreUnknownFields:true
对于多余的配置是否会报异常。例如:当配置文件中有一个或多个属性未绑定到实体类时或属性名字出错或已被删除了,这时候对于实体类,properties里的属性是未知的。这种情况我们希望程序启动失败,这时候就将此参数设置为false即可

三  举例说明

 比如在application.properties文件中有如下配置文件

·  config.username=jay.zhou

·   config.password=3333

那么按照如下注解配置,SpringBoot项目中使用@ConfigurationProperties的Bean,它的username与password就会被自动注入值了。就像下面展示的那样文章来源地址https://www.toymoban.com/news/detail-428750.html

import org.springframework.boot.context.properties.ConfigurationProperties;

import org.springframework.stereotype.Component;


@Component

@ConfigurationProperties(prefix = "config")

public class TestBean{


    private String username;

    

    private String password;

}

到了这里,关于springboot注解之@ConfigurationProperties注解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot复习:(34)@EnableWebMvc注解为什么让@WebMvcAutoconfiguration失效?

    它导入了DelegatingWebMvcConfiguration 它会把容器中的类型为WebMvcConfigurer的bean注入到类型为WebMvcConfigurerComposite的成员变量configurers中。 可以看到它继承了WebMvcConfigurerSupport类 而WebMvcConfigureAutoConfiguration类定义如下 可以看到一个@ConditionalOnMissingBean(WebMvcConfigurationSupport.class)注解。 所

    2024年02月13日
    浏览(45)
  • idea的springboot项目的SpringBootApplication注解是红色的因为什么

    在 IntelliJ IDEA 中,当 Spring Boot 项目的 @SpringBootApplication 注解变为红色时,通常是因为以下原因之一: 缺少 Spring Boot 相关依赖: @SpringBootApplication 注解是 Spring Boot 项目的核心注解之一,如果您的项目缺少相关的 Spring Boot 依赖,IDEA 将无法正确解析该注解,从而导致变为红色。

    2024年02月07日
    浏览(41)
  • java的springboot框架中使用logback日志框架使用RabbitHandler注解为什么获取不到消费的traceId信息?

    当使用 Logback 日志框架和 RabbitMQ 的 @RabbitHandler 注解时,如果无法获取消费的 traceId 信息,可能是因为在处理 RabbitMQ 消息时,没有正确地将 traceId 传递到日志中。 为了将 traceId 传递到日志中,你可以利用 MDC(Mapped Diagnostic Context)机制。MDC 是一个线程绑定的上下文容器,允许

    2024年02月09日
    浏览(44)
  • SpringBoot 学习(03): 弱语言的注解和SpringBoot注解的异同

    弱语言代表:Hyperf,一个基于 PHP Swoole 扩展的常驻内存框架 注解概念的举例说明; 说白了就是,你当领导,破烂事让秘书帮你去安排,你只需要批注一下,例如下周要举办一场活动,秘书将方案交给你审批,你看完后,在上面批注,要找4个知名专家来做客,要拍摄10张优质

    2024年02月12日
    浏览(34)
  • 【SpringBoot应用篇】【AOP+注解】SpringBoot+SpEL表达式基于注解实现权限控制

    Spring 表达式语言 SpEL 是一种非常强大的表达式语言,它支持在运行时查询和操作对象图。 它提供了许多高级功能,例如方法调用和基本的字符串模板功能。 表达式语言给静态Java语言增加了动态功能。 Spring 表达式语言最初是为 Spring 社区创建的,它拥有一种受良好支持的表

    2024年02月20日
    浏览(44)
  • @ConfigurationProperties 实现流程

    一、基本使用 创建配置对象 对象上标注@ConfigurationProperties注解 使用配置对象 标注@EnableConfigurationProperties(配置对象类.class) 一般用在@Configuration标注的类上 二、关键对象 ConfigurationPropertiesBindingPostProcessor:实现了BeanPostProcessor 拦截@ConfigurationProperties标注bean的创建过程,注入值

    2024年02月05日
    浏览(57)
  • 学会@ConfigurationProperties月薪过三千

    学习 @ConfigurationProperties 之前我们需要一些前置知识点: @Value是个什么东西 首先明确: @ConfigurationProperties 是 SpringBoot 注解。 我们在讲 @Value 时知道了如何将配置文件的属性注入到变量中,废话不多说,直接上代码。 这是配置文件配置: 麻烦? 没事,有简单的,我们用简单

    2024年02月03日
    浏览(32)
  • 【Springboot系列】SpringBoot常用的一些注解

    强烈推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站: 人工智能 引言: Spring Boot 是当今 Java 开发领域中最受欢迎的框架之一,它的出现极大地简化了 Spring 应用程序的开发和部署过程。 其中,注解是 Spring Bo

    2024年04月09日
    浏览(59)
  • @MapperScan注解有什么用

    在 Java 开发中,@MapperScan 注解用于扫描 Mapper 接口,并将其实例化后交给 Spring 容器管理,使得可以在其他组件中使用这些 Mapper 接口的实现类。该注解常用于 MyBatis 框架中,用于自动扫描 Mapper 接口并创建其实现类的代理对象,从而可以方便地进行数据持久化操作。 具体来说

    2024年02月13日
    浏览(22)
  • springboot引入校验注解

    引入依赖 常用校验注解 @Null(groups={Add.class}) 参数必须为null,group设置分组,默认为default @NotNull 参数不为null @NotEmpty 参数不为null 且不为空集合,集合不为空 @NotBlank 参数不为null且不为空串,只能作用字符串类型 @AssertFalse 被注释的元素必须是false @AssertTrue 被注释的元素必须是

    2024年02月12日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包