如何使用Spring Expression Language


这篇文章主要介绍如何使用SpringExpressionLanguage,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!是强大的表达式语言,支持查询、操作运行时对象图,以及解析逻辑、算术表达式。SpEL可以独立使用,无论你是否使用Spring框架。引入依赖:compile group: ‘org.springframework’, name: ‘spring-expression’, version: ‘5.2.4.RELEASE’读者可以选择最新版本或合适的版本。当然也可以下载相应jar文件。在调用下面的函数之前,按如下方式初始化一个类级属性SpelExpression解析器:2.1. 解析直接文本这里直接解决字符串及数字文本。2.2. 直接文本上调用方法示例展示了在字符串上直接调用Java String类的public方法。2.3.访问对象属性和方法表达式可以直接使用对象的属性与方法。我们看到方法与属性使用一样,只是多了调用括号。2.4.执行各种操作(比较、逻辑、算术)SpEl支持下面几种操作:关系比较操作:==, !=, , >=逻辑操作: and, or, not算术操作: +, -, /, *, %, ^2.5.使用多个对象和变量表达式不仅需要引用对象,而且可能需要引用多个不同类型的对象。我们可以把所有使用的对象都加入至上下文中。使用键值对的方式加入并引用。2.6.调用自定义函数SpEl也可以调用自定义的函数,用户可以扩展业务逻辑。下面首先定义一个函数:下面在SpEl中调用isValid方法:通过示例介绍了SpEl中多种应用场景。读者可以利用这些功能实现更加灵活的功能应用。Spring 表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言。语法类似于 EL:SpEL 使用 #{…} 作为定界符,所有在大框号中的字符都将被认为是 SpELSpEL 为 bean 的属性进行动态赋值提供了便利.通过 SpEL 可以实现:通过 bean 的 id 对 bean 进行引用调用方法以及引用对象中的属性计算表达式的值正则表达式的匹配字面量的表示:如果仅仅是表示字面量,其实是没有必要使用Spring EL表达式的,这里仅仅演示一下而已,日常的开发中很少使用。引用其他对象但是我们更常用ref 来实现其他对象的引用引用其他对象的属性调用其他方法,还可以链式操作调用静态方法或静态属性通过 T() 调用一个类的静态方法,它将返回一个 Class Object,然后再调用相应的方法或属性:算数运算符:+, -, *, /, %, ^加号还可以用作字符串连接比较运算符: , ==, =, lt, gt, eq, le, ge逻辑运算符号: and, or, not, |if-else 运算符:?: (ternary), ?: (Elvis)if-else 的变体正则表达式:matches配置文件:测试类:结果:2018-04-07 21:21:30,804 INFO [main] (AbstractApplicationContext.java:583) – Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@4af6178d: startup date [Sat Apr 07 21:21:30 BOT 2018]; root of conte免费云主机域名xt hierarchy
2018-04-07 21:21:30,907 INFO [main] (XmlBeanDefinitionReader.java:317) – Loading XML bean definitions from class path resource [com/xgj/spel/beans_spel.xml]
Car [brand=Bench, price=700000.0, weight=14347]
Boss [name=Artisan, car=Car [brand=Bench, price=700000.0, weight=14347], city=NanJing, info=CEO]示例-基于注解的方式我们通过一个数据库的例子来演示。虽然可以通过Spring El 表达式从配置文件中加载一个参数值,比如是不是容易出错…. Spring提供了更好的方式 context:property-placeholder。db_mysql.properties运行结果2018-04-07 23:37:11,409 INFO [main] (AbstractApplicationContext.java:583) – Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@761df304: startup date [Sat Apr 07 23:37:11 BOT 2018]; root of context hierarchy
2018-04-07 23:37:11,552 INFO [main] (XmlBeanDefinitionReader.java:317) – Loading XML bean definitions from class path resource [com/xgj/spel/annotation/beans_anno.xml]
MyDataSource [driverClass=com.mysql.jdbc.Driver, url=jdbc:mysql://localhost:3306/artisan, username=artisan, password=artisan]
driverClassName:com.mysql.jdbc.Driver
url:jdbc:mysql://localhost:3306/artisan
username:artisan
password:artisan以上是“如何使用SpringExpressionLanguage”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注百云主机行业资讯频道!

相关推荐: Django中怎么使用MQTT方法

这篇文章主要介绍了Django中怎么使用MQTT方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Django中怎么使用MQTT方法文章都会有所收获,下面我们一起来看看吧。MQTT是消息队列遥测传输的缩写,是一种基于发布/订阅范式…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 09/26 10:18
下一篇 09/26 10:18

相关推荐