spring表达式(spring EL)具有许多功能:
1、使用Bean的id引用Bean
2、调用指定对象的方法和访问对象的属性
3、进行简单的算术运算
4、提供正则表达式进行匹配
5、集合配置
接下来通过例子的方式解释spring el的使用方法:
//通过Bean的id或是name获取bean,然后进行注入
@Value("#{role}")
//赋予long型值1
@Value("#{1}")
private long id
//获取id或是name为role的bean的id属性的值进行注入
@Value("#{role.id}")
//调用id或是name为role的bean的getNote方法,返回值进行注入
@Value("#{role.getNote()}")
//获取类的静态成员进行注入,注意到这是Math不是全限定名,这是因为Math类在本包中
@Value("#{T(Math).PI}")
//如果使用的类不在本包中,则需要指定类的全限定名
@Value("#{T(java.lang.Math).PI}")
//调用类的静态方法,将返回值进行注入
@Value("#{T(Math).random()}")
/*
spring el也支持简单的算术运算
*/
//将名为role的bean的id属性加一后进行注入
@Value("#{role.id+1}")
//也支持字符串之间的运算
@Value("#{"hello"+" word"}")
//大于、小于
@Value("#{role.id>1}")
@Value("#{role.id<1}")
//等于
@Value("#{role.id==1}")
@Value("#{role.id eq 1}")
//三目运算符
@value("#{role.id>1?5:1}")