@value(“${}“)和@value(“#{}“)的区别

如下:

 今天看到一个课程讲解,才真正把这个$和#搞明白了,以前都是稀里糊涂的在用,哈哈。

使用$是去取环境变量里面的值,spring中有一个对象叫做Enviroment(环境),这个对象里面包括我们代码的运行环境,比如:

1.操作系统、2.jvm环境(包括我们指定的运行时的参数 -D)3.xx.properties、xxx.yml 等

这些环境变量存在Enviroment对象中,就是key:value的形式

此时写@value("${user}"),则是把user当做key,去取这个value值

如下写#号时,代表的是spring的spEL表达式

@value("#{}")

@value("#{user}")此时得user就代表bean的名字,#会通过这个名字去获取bean,这里就和@autowired注解差不多了,也是去spring容器中找这个bean,通过byType 、byName去寻找(不过这里只有一个bean名称,没有类型,不知道咋找的)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值