Spring中@Value注解

本文详细介绍了Spring框架中@Value注解的各种用法,包括注入普通字符串、操作系统属性、表达式结果、其他Bean属性、文件资源及URL资源等。同时对比了#{...}

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在项目中发现@value的用法有很多种

@value注入的作用:

通过@value将外部的值动态注入到Bean中。

1、可以注入普通字符串

2、注入操作系统属性

3、注入表达式结果

4、注入其他Bean属性 

5、注入文件资源

6、注入URL资源

@value("nomalChacter")

private String char;//注入普通字符

@value("#{sytemProperties['os.name']}")

private String systemPropertiesName;//注入操作系统

@value("#{T(java.lang.Math).random()*100.0}")

private double randomNumber;//注入表达式结果

   @Value("#{bean.name}")

   private String fromAnotherBean; // 注入其他Bean属性:注入beanInject对象的属性name

   @Value("classpath:com/1.txt")

   private Resource resourceFile; // 注入文件资源

   @Value("http://www.gogle.com")

   private Resource testUrl; // 注入URL资源

通过@Value("${app.name}")语法将属性文件的值注入bean属性值。

@Value("${person.name}")

private String name;

@Value("${person.name.firstName}")

private String firstName;//注入name的firstName


上面的用法中有#{}和¥{},二者有什么区别呢

#{..}主要用于执行SpEl表达式,并将内容赋值给属性

${..}主要用于加载外部属性文件中的值

#{..}和${..}可以混合使用,  但是必须#{}外面,${}在里面



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值