关于#和$的思考
Posted 不去天涯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于#和$的思考相关的知识,希望对你有一定的参考价值。
#和$符号在Mybatis和Spring中出现的频率都很高。
在Mybatis里#是安全的取值方式,会以PreparedStatement的参数值方式解析到sql语句,能够防止sql注入攻击;$方式是不安全的取值方式,它会把值直接拼接到sql语句,存在sql注入攻击的风险。
spring里的$代表注入一个配置文件里的值;#注入一段表达式(SpEL表达式)的计算结果。
对于#和$的用法,是不是过段时间就分不清楚谁对谁了呢?
为了方便记忆,可以对#和$在mybatis和spring里的用法做一个归纳总结:
#代表的是表达式,会被编译运算;$代表的是字面值,是一个字符串。
这种总结,在mybatis和spring都适用。
以上是关于关于#和$的思考的主要内容,如果未能解决你的问题,请参考以下文章