如下:
今天看到一个课程讲解,才真正把这个$和#搞明白了,以前都是稀里糊涂的在用,哈哈。
使用$是去取环境变量里面的值,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名称,没有类型,不知道咋找的)