今天在看spring boot这本书的时候,看到在元数据的注解中有这样的写东西:
<pre name="code" class="java">@Value("#{demoService.another}")
private String fromAnother;
demoService.another不是静态的,原先的定义是如下:
<pre name="code" class="java">public class demoService{
@Value("其他类的属性")
private String another;
....
}
还有下面的写法:
@Value("${book.name}")
private String bookName;
可以注意一下,同样是注解,那么#和$有什么区别???
老大的解释是:#调用的是类中的私有的成员变量,不需要实体化,直接调用。
$则是直接调用的实体类。
此处存疑点,特此保留。