Spring属性注解对配置项名称的自动转换

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

一、前言 

       在Spring中,我们经常需要将配置文件中的属性值注入到Java类中。Spring提供了两个主要的注解来实现这一功能:@Value @ConfigurationProperties。其中 @ConfigurationProperties支持将配置项名称与Java类中的属性名进行自动转换,包括 '-' 和'驼峰命名'的转换;而@Value不支持。

二、@Value注解

@Value 注解用于将配置项的值注入到Java类的属性中。在使用 @Value 注解时,需要使用 ${} 表达式来引用配置项的名称,这个名称需要与配置项的完整名称完全匹配@Value 注解不支持自动转换 - 和驼峰命名,因此必须保证配置项的名称与 @Value 注解中的表达式一致。例如:

# 配置项
my-config-property-name=Hello World
@Value("${my-config-property-name}")
private String myConfigPropertyName;

三、@ConfigurationProperties 注解

@ConfigurationProperties 注解用于将一组配置项的值注入到一个Java类中。与 @Value 注解不同,@ConfigurationProperties 注解支持将配置项名称的 - 转换为驼峰命名的属性名。通过在类上使用 @ConfigurationProperties(prefix = "prefixName") 注解,可以将具有相同前缀的配置项注入到Java类的对应属性中。例如:

# 配置项
my-config.property-name=Hello World
@ConfigurationProperties(prefix = "my-config")
public class MyConfigProperties {
    private String propertyName;
    // getter 和 setter 方法
}

在上述代码中,配置项 "my-config.property-name" 的值 "Hello World" 会被注入到 MyConfigProperties 类的 propertyName 属性中。

四、小结

  • @Value 注解需要精确匹配配置项的名称,不支持自动转换 - 和驼峰命名
  • @ConfigurationProperties 注解支持将配置项名称的 - 转换为驼峰命名,提供了更灵活的配置项命名方式,可以通过 prefix 属性指定配置项的前缀。

正确使用 @Value @ConfigurationProperties 注解可以提高配置项的灵活性和代码的可读性。根据实际的需求和习惯,选择适合的注解来处理配置项,让配置更加简洁明了。文章来源地址https://www.toymoban.com/news/detail-609340.html

到了这里,关于Spring属性注解对配置项名称的自动转换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Java 框架面试题-Spring Boot自定义配置与自动配置共存

    Spring Boot 是一个快速开发框架,可以简化 Spring 应用程序的开发,其中自定义配置是其中一个非常重要的特性。 在 Spring Boot 中,自定义配置允许开发者以自己的方式来配置应用程序。自定义配置可以用于覆盖默认配置,也可以用于添加新的配置项。本文将详细介绍 java框架面

    2023年04月11日
    浏览(37)
  • Springboot自动装配:三个注解、Selector、spring.factories文件、@ConditionalOnProperty注解

    借鉴: 这个链接是包含run方法进来debug看整个过程的,建议先看:https://www.cnblogs.com/starsray/p/15580915.html https://blog.csdn.net/fengxiandada/article/details/130080828 1.创建springboot应用 如何创建一个spring boot应用?这就很简单了,可以使用idea自带的spring initializr帮助我们选择相应的场景启动

    2024年01月22日
    浏览(34)
  • spring data elasticsearch:动态配置实体类索引名称indexName

    最近接到一个需要,需要在spring data elasticsearch关联的实体类中动态的根据配置文件动态创建索引名称,比如开发环境下索引名称为user-dev,测试环境下为user-test,生产环境为user-prod 一开始接到这个需要觉得很怪,因为不同环境的区分直接搭建不同的es服务器环境不就行了吗,

    2023年04月21日
    浏览(34)
  • Spring如何使用自定义注解来实现自动管理事务?

    人可以做他(她)想做的,但不能要他(她)想要的 在两年半以前,我写了一篇博客:框架的灵魂之注解基础篇: 在那篇博客的结尾,我埋了一个坑: 如今,我练习时长达 两年半 ,终于摔锅归来! 本篇博客基于SpringBoot整合MyBatis-plus,如果有不懂这个的, 可以查看我的这篇博客

    2024年01月25日
    浏览(44)
  • Spring的纯注解配置

    复制SSM整合项目这个项目 我们发现,之所以我们现在离不开xml配置文件,是因为我们有一处很关键的配置,如果他要也能用注解配置,那么我们就可以脱离xml文件了: 1.2.1.jdbc配置 1.2.2.mybatis配置 1.2.3.transactional配置 1.2.4.service配置 1.2.5.springmvc配置 1.2.6.servlet配置 作用: 用于

    2024年01月22日
    浏览(28)
  • Spring 配置方案(注解的使用)

    替换: 1、注入类 (1)@Component 1、含义 将注解所修饰的类,注入spring容器 2、位置 使用在类的前面 3、语法 @Component(value = “id”) 如果省略 value = “id” 默认注入的id为类的名称且首字母小写 4、注意 不可以单独使用 在xml中配合 context:component-scan base-package=“”/context:compone

    2024年02月12日
    浏览(28)
  • Java、Java EE、Spring和Spring Boot核心注解

    文章迁移至个人博客 此页面包含常用 Java 、 Java EE 、 Spring 、 Spring Boot 、 JPA 常用注解的一站式说明。 @Component注解 @Component 注解表明被注解的类是一个“spring bean/组件”。@Component注解告诉Spring容器自动创建Spring bean。 @Autowired注解 @Autowired 注解用于自动注入 bean。@Autowired 注

    2024年02月15日
    浏览(40)
  • Spring——基于注解的AOP配置

    1.1.pom.xml 1.2.dao 1.3.service 1.4.applicationContext.xml 1.5.测试 2.1.applicationContext.xml 2.2.AOP配置 常用注解 @Aspect:把当前类声明为切面类 @Before:前置通知,可以指定切入点表达式 @AfterReturning:后置【try】通知,可以指定切入点表达式 @AfterThrowing:异常【catch】通知,可以指定切入点表达

    2024年01月22日
    浏览(25)
  • Spring MVC 三 :基于注解配置

    Servlet3.0 Servlet3.0是基于注解配置的理论基础。 Servlet3.0引入了基于注解配置Servlet的规范,提出了可拔插的ServletContext初始化方式,引入了一个叫ServletContainerInitializer的接口。 An instance of the ServletContainerInitializer is looked up via the jar services API by the container at container / application sta

    2024年02月11日
    浏览(27)
  • Spring02-Spring注解的使用、基于注解的IOC、纯注解配置、整合Junit、AOP入门、基于配置文件的AOP、切入点表达式、基于配置的文件环绕通知

    学习基于注解的 IOC 配置,即注解配置 和 XML 配置要实现的功能都是一样的,都是要降低程序间的耦合。只是配置的形式不一样。 关于实际的开发中到底使用xml还是注解,每家公司有着不同的使用习惯 , 所以这两种配置方式我们都需要掌握。 把 Spring 的 xml 配置内容改为使用

    2024年02月03日
    浏览(63)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包