@ConfigurationProperties:用于批量绑定配置文件中的配置; @Value:只能一个一个的指定需要绑定的位置,绑定粒度更小 3)松散绑定支持不同 @ConfigurationProperties:支持松散绑定,例如实体类Person中有一个属性为username,那么配置文件中的属性名支持以下写法:person.username、person_name、person.user_name、PERSON_USER_NAME...
@ConfigurationpublicclassSunCoderNoteValueProperties{@Value("${sun-coder-note.name}")privateString name;@Value("${sun-coder-note.en-name}")privateString enName;@Value("${sun-coder-note.fans-count}")privateInteger fansCount;@Value("${sun-coder-note.read-count}")privateInteger readCount;} 测...
@Value:只支持基本数据类型的封装,例如:字符串、布尔值、整数等类型 5)应用场景不同,两者并没有明显的优劣势之分,它们只适合应用的场景不同。若只是获取配置文件中的某项值,则推荐使用@Value注解;若专门编写了一个JavaBean来和配置文件进行映射,则建议使用@ConfigurationProperties注解。 3 用法 3.1 @ConfigurationPro...
@Value("${person.last-name}")privateString lastName; 1 2 SpEL @Value给Javabean属性绑定属性值时可以使用SpEL语法, 但是@ConfigurationProperties不能使用 @Value("#{10*12}")privateInteger id; 1 2 JSR303 使用@ConfigurationProperties可以使用JSR303数据校验, 但是@Value不可以 @Component@Validatedpublicclass...
二,@Value 概述 此注解也是Spring 中的,可以从配置文件中注入一些属性到业务层代码中去,一般是有两种格式,是${}和#{},一般我们使用的都是${},使用这个变量,可以注入字符串,可以注入list等,都是可以的,类型按照规则匹配即可,这也是我们经常需要使用的,是读取配置文件中的属性;#{}使用的就是直接注入当前配置的...
@ConfigurationProperties和@Value使用对比 1、共同点 从配置文件中读取配置项。 2、使用 读取springboot的.yml配置文件: 代码语言:java 复制 xxl:job:enabled:trueadmin:addresses:http://127.0.0.1:8080/xxl-job-admin accessToken:executor:appname:${spring.application.name}address:ip:port:9999logpath:/zlogs...
上一节我们通过注解@PropertySource读取内外部配置文件,然后通过注解@Value读取其值,在Spring中通过注解@ConfigurationProperties也可以读取配置文件中的值,接下来我们一起来看看注解@ConfigurationProperties和@Value有何区别。 @ConfigurationProperties VS @Value注解 ...
@value 获取值和 @configurationProperties 获取值比较 松散绑定(松散语法):特别是 Last-name 若在此种情况下: 属性名为: firstName (驼峰命名法); first-name ; first_name;PERSON_FIRST_NAME ;均可。 只有@ConfigurationProperties 支持此特点。 @vulue 设为 lastName ...
了解@ConfigurationProperties与@Value的区别 探究@ConfigurationProperties背后的源码运作 1. 前言 我们使用Spring框架的时候,经常会从配置文件中获取配置属性,比如发送邮件的时候,需要获取收发件人以及邮箱服务器地址和端口号。 那么本文将会介绍如何获取配置属性这样的小知识点,并做一定的延伸。
松散语法的意思就是一个属性在配置文件中可以有多个属性名,举个栗子:学生类当中的 firstName 属性,在配置文件中可以叫 firstName、first-name、first_name 以及 FIRST_NAME。 而 @ConfigurationProperties 是支持这种命名的,@Value 不支持。下面以 firstName 为例,测试一下。如下代码: ...