赞
踩
最近在项目中需要根据不同的条件来做走不同分支的逻辑,那么就需要动态判断条件表达式结果(不想写一堆if else),研究了一番,发现了一个轻量级的Java表达式执行引擎:aviator,整个使用下来挺简单高效的,今天推荐给大家,下面介绍啊一下这款框架!
Aviator是一个轻量级、高性能的Java表达式执行引擎, 它动态地将表达式编译成字节码并运行,主要用于各种表达式的动态求值!相比Groovy这样的重量级脚本语言,aviator是非常轻量级的表达式执行引擎。
我在开发里用到的就是关系运算符,动态判断执行结果(true/false),以两个变量a、b为例看下aviator的执行方式:
aviator提供了AviatorEvaluator#execute(java.lang.String)方法来执行操作运算符
如果自带函数不能满足开发需要, aviator还支持自定义函数,只要实现com.googlecode.aviator.runtime.type.AviatorFunction接口, 并注册到AviatorEvaluator即可使用!
注册函数通过AviatorEvaluator.addFunction方法, 移除可以通过removeFunction方法
aviator提供的特性还有很多,不再一一举例,github地址如下,有兴趣的可以进一步学习应用
https://github.com/killme2008/aviator
更多内容欢迎关注个人微信公众号,一起成长!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。