JFinal-event 2.1.0 发布,添加会话参数传递 - 开源中国社区
Float_left Icon_close
JFinal-event 2.1.0 发布,添加会话参数传递
如梦技术 2018年03月08日

JFinal-event 2.1.0 发布,添加会话参数传递

如梦技术 如梦技术 发布于2018年03月08日 收藏 5 评论 5

做APP,小程序就上开源众包。世界杯期间免费领2600元启动金。>>>  

JFinal-event 2.x 参(抄)考(袭)Spring 4.2.x中Event的使用方式而生,为JFinal用户带来更多方便。

更新情况:
JFinal-event v2.1.0 添加会话参数传递,使用户在异步Event中更方便的获取会话中的参数,而非使用硬编码的方式传递参数。

使用: 

  1.  在Config中添加me.add(new CtrlHolderInterceptor());拦截器。

  2.  然后继承CtrlHolderEvent编写自己的事件类

@EventListener(async = true)
public void testEvent(MyCtrlHolderEvent event) {
    CtrlHolder holder = event.getCtrlHolder();
    holder.getPara("p");
    holder.getAttr("x");
    holder.getHeader("x");
    holder.getSessionAttr("x");
}

JFinal-event 2.x的使用:
1. 初始化插件

EventPlugin plugin = new EventPlugin();
// 设置为异步,默认同步,或者使用`threadPool(ExecutorService executorService)`自定义线程池。
plugin.async();
 
// 设置扫描jar包,默认不扫描
plugin.scanJar();
// 设置监听器默认包,默认全扫描
plugin.scanPackage("net.dreamlu");
 
// bean工厂,默认为DefaultBeanFactory,可实现IBeanFactory自定义扩展,可扩展从IOC容器中获取
plugin.beanFactory(new DuangBeanFactory());
 
// 手动启动插件,用于main方法启动,jfinal中不需要,添加插件即可。
plugin.start();
 
// 停止插件,用于main方法测试
plugin.stop();

2. 新建事件类

// 继承 ApplicationEvent
public class Test1Event extends ApplicationEvent {
    private static final long serialVersionUID = 6994987952247306131L;
        public Test1Event(Object source) {
        super(source);
    }
}

3. 编写监听
监听器可写在任何有默认构造器(无参构造器)的类(包括Controller、Model)中,如果类不能使用无参构造器初始化,请设置为 ObjenesisBeanFactory bean工厂,依赖 objenesis jar包。

public class TestListener {
	@EventListener
	public void listenTest1Event(Test1Event event) {
	    System.out.println("Test1Event:" + event.getSource());
	}
	 
	@EventListener
	public void listenTest1Event(Test2Event event) {
	    System.out.println("Test1Event:" + event.getSource());
	}
}

4. 发送事件

EventKit.post(new Test1Event("hello1"));

更多示例代码和更新记录请查看gitee中的readme说明。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:JFinal-event 2.1.0 发布,添加会话参数传递
分享
评论(5)
精彩评论
2
1.x 参考 guava,spring,以及android event Bus,2.x 参考 spring 4.2.x的更加方便,解耦度更高,代码量更少。
1
代码十分简洁,jfinal 周边精品项目 :thumbsup:
1
就不能好好用Spring吗?
最新评论
2
1.x 参考 guava,spring,以及android event Bus,2.x 参考 spring 4.2.x的更加方便,解耦度更高,代码量更少。
1
代码十分简洁,jfinal 周边精品项目 :thumbsup:
0
event Bus
1
就不能好好用Spring吗?
0
GOOD!!!
顶部