JFinal

登录 注册

JFinal-event 2.0.4 2.x稳定版发布

JFinal-event 2.x 模(cao)仿(xi)Spring 4.2 中的事件驱动而生,支持JFinal 3.1和3.1以上版本。

JFinal-event 2.x 在使用上更加简单和灵活。你不仅不用再新建一堆Listener,还可以使用 @EventListener 注解中的 events 和 condition 属性,复用你的Event。

你现在可以将 @EventListener 写到任何能初始化的java类中,对不带默认构造器的类你需要配置为ObjenesisBeanFactory,具体请看下文。

JFinal-event 2.0.4新特性:

1. 扫描包支持用;分割,如:net.dreamlu.a;net.dreamlu.b

2. 插件支持自定义Bean工厂,可实现IBeanFactory自定义扩展。(可实现单例Bean、IOC Bean等...自行发挥)使用plugin.beanFactory(new DuangBeanFactory());

  默认为DefaultBeanFactory,内置有DuangBeanFactory和ObjenesisBeanFactory。

  ObjenesisBeanFactory用于将 @EventListener 写到不带无参构造器的java类,需要添加 objenesis 的 jar 包,下载地址:http://mvnrepository.com/artifact/org.objenesis/objenesis/2.6

@EventListener注解说明

@EventListener(events = Test1Event.class, order = 1, async = true, condition = "event.isExec()")

events 支持的事件类型数组,用于将事件方法定义为ApplicationEvent或者自定义父类。

public class TestXxx {

	@EventListener(events = Test1Event.class)
	public void applicationEvent(ApplicationEvent event) {
	    String xx = (String) event.getSource();
	    System.out.println(Thread.currentThread().getName() + "\tsource:" + xx);
	}

}

order 排序,数值越越先执行,默认为Integer.MAX_VALUE

async 异步执行,需要插件开启async()或者自定义线程池。

condition 表达式条件,使用event.xxxx,event.isExec() == true判定event的属性或者方法。

更多使用说明请查看:http://www.jfinal.com/project/7

评论