Spring @Value的$和#用法区别
@Value的值有两类:
- ① ${ property : default_value }
- ② #{ obj.property? : default_value }
就是说,第一个注入的是外部参数对应的property,第二个则是SpEL表达式对应的内容。
那个 default_value,就是前面的值为空时的默认值。注意二者的不同。
第一种主要是配置文件上的值获。
第二种是对象属性的获取,需要注意的是,如果是获取一个方法的值时,需要在前面增加@,比如#{@obj.getProperty()}
参考: