Spring的#和$的区别

${key名称}

1.用户获取外部文件中指定key的值

2.可以在xml中配置,也可以出现在@value注解中

3.一般用于获取数据库配置内容信息

#{表达式}

1.spring中el表达式的格式

2.可以在xml中配置,也可以出现在@value注解中

3.可以任意表达式,支持运算符

4.一般用于数据库sql语句的获取字段信息,可以防止sql注入

注:在使用的时候也允许#{‘${key}’}这样使用。

比如:

@Value("#{'${jdbc.s_name}'}")

   String s_name;