Spring @Value的$和#用法区别

@Value的值有两类:

  • ① ${ property : default_value }
  • ② #{ obj.property? : default_value }

就是说,第一个注入的是外部参数对应的property,第二个则是SpEL表达式对应的内容。

那个 default_value,就是前面的值为空时的默认值。注意二者的不同。

第一种主要是配置文件上的值获。

第二种是对象属性的获取,需要注意的是,如果是获取一个方法的值时,需要在前面增加@,比如#{@obj.getProperty()}

参考:

https://www.cnblogs.com/larryzeal/p/5910149.html

原文地址:https://www.cnblogs.com/EasonJim/p/9592071.html