Java @Value注解的用处

1.是什么

        1.1)概念

  @Value注解是 Spring的注解,可以用来将外部的值动态注入到 Bean 中,在 @Value 注解中,可以使用 ${} 或 #{}。${} 与 #{} 的区别如下:

(1)@Value("${}"):可以获取对应属性文件中定义的属性值。

(2)@Value("#{}"):表示 SpEl 表达式通常用来获取 bean 的属性,或者调用 bean 的某个方法。

  1.2)@Value注解用法小结:

  • #{…} 用于执行SpEl表达式,并将内容赋值给属性。
  • ${…} 主要用于加载外部属性文件中的值。
  • #{…} 和${…} 可以混合使用,但是必须#{}外面,${}在里面。

2.为什么

   1) 需要给定默认值,才不会报错

   比如 

里边的 name.list后有一个 冒号,就算是有 默认值空字符串了

    @Value("#{'${name.list:}'.split(',')}")
    private List<String> nameList;

如果是下面这样的,没有 name.list这个属性时,就会启动Java时报错

    @Value("#{'${name.list}'.split(',')}")
    private List<String> nameList;

3.怎么处理

  怎么处理,上边说了,尽量还是给默认值,避免启动报错

4.其他

        4.1) 参考资料:

【Spring注解驱动开发】如何使用@Value注解为bean的属性赋值,我们一起吊打面试官! - 冰河团队 - 博客园写在前面 在之前的文章中,我们探讨了如何向Spring的IOC容器中注册bean组件,讲解了有关bean组件的生命周期的知识。今天,我们就来一起聊聊@Value注解的用法。 项目工程源码已经提交到Gihttps://www.cnblogs.com/binghe001/p/13216798.html

@Value 注解详解 - 人人编程网本文将介绍 Spring 中 @Value 注解的详细用法,以及 @Value 为静态属性设置值。https://www.hxstrive.com/article/854.htmspring的@Value注解使用_woheniccc的博客-CSDN博客_@value注解昨天看到了springMVC的controller中的属性使用了@value注解,并且本人之前用的${}形式,看到别人用的#{}形式,特此记录下。1.@Value注解作用 该注解的作用是将我们配置文件的属性读出来,有@Value(“${}”)和@Value(“#{}”)两种方式,区别之后介绍,先不多说上图感受。2.@Value注解作用的两种方式第一种方式@Value(...https://blog.csdn.net/woheniccc/article/details/79804600

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值