通过Java增强,可以在表单增加、修改、删除、查询时,实现额外的功能,类似Spring中的AOP编程。提供了开始事件、结束事件,如下所示:


其中:
spring-bean:表示SpringBean的名称,如:类上面添加注解@Component("saveTestEnhanceDemo"),则spring-bean值为saveTestEnhanceDemo
java-class:表示Java类全名(包含包名),如:net.maku.online.form.enhance.demo.SaveTestEnhanceDemo

新增Java增强

新增Java增强,需要实现SaveAndUpdateEnhanceInter接口,如下所示:

@Slf4j
@Component("saveTestEnhanceDemo")
public class SaveTestEnhanceDemo implements SaveAndUpdateEnhanceInter {
    @Override
    public void execute(String tableId, Map<String, Object> data) {
        log.info("SaveTestEnhanceDemo.execute() 方法被调用");
        log.info("参数:{{}}", data);
    }
}

支持配置开始事件和结束事件,也就在进入和离开新增方法时,会执行该Java增强,配置如下:

修改Java增强

修改Java增强,需要实现SaveAndUpdateEnhanceInter接口,如下所示:

@Slf4j
@Component("updateTestEnhanceDemo")
public class UpdateTestEnhanceDemo implements SaveAndUpdateEnhanceInter {
    @Override
    public void execute(String tableId, Map<String, Object> data) {
        log.info("UpdateTestEnhanceDemo.execute() 方法被调用");
        log.info("参数:{{}}", data);
    }
}

这里配置开始事件,也就是在进入修改方法之前,会执行该Java增强,配置如下:

删除Java增强

删除Java增强,需要实现DeleteEnhanceInter接口,如下所示:

@Slf4j
@Component("deleteTestEnhanceDemo")
public class DeleteTestEnhanceDemo implements DeleteEnhanceInter {
    @Override
    public void execute(String tableId, List<Long> idList) {
        log.info("DeleteTestEnhanceDemo.execute() 方法被调用");
        log.info("参数:{{}}", idList);
    }
}

这里配置开始事件,也就是在进入删除方法之前,会执行该Java增强,配置如下:

查询Java增强

查询Java增强,需要实现QueryEnhanceInter接口,如下所示:

@Slf4j
@Component("queryTestEnhanceDemo")
public class QueryTestEnhanceDemo implements QueryEnhanceInter {
    @Override
    public void execute(String tableId, OnlineFormQuery query) {
        log.info("QueryTestEnhanceDemo.execute() 方法被调用");
        log.info("参数:{{}}", query);
    }
}

查询只有开始事情,也就是在进入查询方法之前,会执行该Java增强,配置如下: