Java内嵌Groovy脚本引擎进行业务规则剥离(二)–JAVA解析

文章讲述了如何在Java程序中动态解析并执行Groovy脚本,以构建一个规则引擎实例,通过引入相关jar包和使用ScriptEngine来处理Groovy代码。作者还提到了在不同IDE(如IDEA和文本编辑器)中使用Groovy的支持情况。
摘要由CSDN通过智能技术生成

既然是动态脚本,需要的就是动态执行,因此暂时不考虑groovy编译为字节码的情况,而直接使用java进行解析,并且运行。

考虑到程序的简单性,建立一个普通的java程序就好,导入以下两个jar包:

  • commons-io-2.2.jar 用于快速读取文本文件内容
  • groovy-all-2.3.10.jar

文件:HelloWord.groovy

package com.amarsoft.rax.rulengine

import java.text.SimpleDateFormat
import java.text.ParseException

class RuntimeContext {
    //以下是英文部分变量,一般通过程序自动装载得到,用于从数据库或其他持久层加载业务数据
    def collegeName = "EMBA业余大学"
    def tuitionFee = 80000
    def startDate = '2016/02/01', finishDate = '2016/09/01'
    def today = "2017/01/21"
    def student = ['id'            : 'E9527',
                   'name'          : '于小小',
                   'gender'        : 'F',
                   'kind'          : 'EMBA',
                   'className'     : '重庆理工大学MBA三年级四班',
                   'grade'         : 4,
                   'birth'         : '1989/03/02',
                   'address'       : '重庆市巴南区红光大道',
                   'salary'        : 50000,
                   'createTime'    : '2016/01/21 11:31:00',
                   'courses'       : [
                           ['id': 'GJC', name: '公共基础', 'classHour': 32],
                           ['id': 'ZXW', name: '组织行为学', 'classHour': 40],
                           ['id': 'TJX', name: '统计学', 'classHour': 20],
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jackie Loong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值