springboot中 @ConfigurationProperties 与 @Value

首先知道 @ConfigurationProperties是干嘛的?

通过名字知道是配置属性,告诉springboot将该类中的属性和配置文件中的属性相互绑定。
通过查找前缀prefix来给属性赋值,如果前缀不写,那么对象属性就为空,因为找不到属性。
(只有容器中的组件才可以使用@ConfigurationProperties功能,所以要加@component)
@Component
@ConfigurationProperties(prefix="person")
public class Person {

}

功能:支持批量注入文件属性,JSR303校验,复杂类型(map,list)等
JSR303校验,要添加@Validated和要验证的注解

@Component
@ConfigurationProperties(prefix = "person")
@Validated
public class Person {
    @Email
    private String lastName;

@Value()相当于spring中的 bean管理

@Component
public class Person {
    /**@Value相当于
     * <bean class="Person">
     *     <property name="lastName" value="字面量/${key}从环境变量/#{spEL}"></property>
     * </bean>
     */
    @Value("${person.last-name}")
    private String lastName;
    
    @Value("#{11*2}")
    private Integer age;
    
    @Value("true")
    private Boolean boss;

功能:单个指定,支持spel表达式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值