Spring表达式语言SpEL用法详解
这篇文章主要介绍了spring表达式语言SpEL用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
(1)spring表达式语言是一个支持运行时查询和操作对象图得我强大表达式语言。
(2)语言类似于EL:SpEL使用#{...}作为定界符。所有在大括号中的字符串均被认为是SpEL。
(3)SpEL为bean的属性进行动态赋值提供了便利。
(4)通过SpEL可以实现:
- 通过Bean的id对Bean进行引用
- 调用方法及引用对象的属性
- 计算表达式的值
- 正则表达式匹配
字面量的表示:
- 整型:#{5}
- 小数:#{3.45}
- 科学计数法:#[1e4]
- 字符串:可以使用单引号或双引号早味字符串的定界符:#{'tom'},#{"tom"}
- 布尔值:#{false}
SpEL支持的运算符号:+-*/%^<>==<=>=ltgteqlegeandornot|(?:)if-else正则表达式等等
调用静态属性和方法:通过T()
以下代码均忽略类中的getter、setter和to_string方法。
Car.java
packagecom.gong.spring.beans.spel; publicclassCar{ publicCar(){ } publicCar(Stringname){ this.name=name; } privateStringname; //轮胎周长 privatedoubletyrePerimeter; privatedoubleprice;}
Address.java
packagecom.gong.spring.beans.spel; publicclassAddress{ privateStringcity; privateStringstreet; }
Student.java
packagecom.gong.spring.beans.spel; publicclassStudent{ privateStringname; privateintage; privatedoublescore; privateStringcity; privateStringinfo; privateCarcar; privateAddressaddress; }
beans-spel.xml
300000?'有钱':'没钱'}">
Main.java
packagecom.gong.spring.beans.spel; importorg.springframework.context.ApplicationContext; importorg.springframework.context.support.ClassPathXmlApplicationContext; publicclassMain{ publicstaticvoidmain(String[]args){ //1.创建spring的IOC容器对象 ApplicationContextctx=newClassPathXmlApplicationContext("beans-spel.xml"); //2.从容器中获取Bean实例 Studentstudent=(Student)ctx.getBean("student"); System.out.println(student.toString()); } }
部分输出:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。