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

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

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 发布,添加会话参数传递
加载中

精彩评论

如梦技术
如梦技术
1.x 参考 guava,spring,以及android event Bus,2.x 参考 spring 4.2.x的更加方便,解耦度更高,代码量更少。
如梦技术
如梦技术

引用来自“逍遥的秦哥”的评论

jfinal2.0能支持嘛?
jfinal2.0 的话 应该能用 老版本,不过建议,使用 v2.2.1 标签的源码进行修改。
另外,jfinal 升级到 3.5 以下版本(不包含) 没太多需要修改的地方。
JFinal
JFinal
代码十分简洁,jfinal 周边精品项目 :thumbsup:
山哥
山哥
就不能好好用Spring吗?

最新评论(7

如梦技术
如梦技术

引用来自“逍遥的秦哥”的评论

jfinal2.0能支持嘛?
jfinal2.0 的话 应该能用 老版本,不过建议,使用 v2.2.1 标签的源码进行修改。
另外,jfinal 升级到 3.5 以下版本(不包含) 没太多需要修改的地方。
逍遥的秦哥
逍遥的秦哥
jfinal2.0能支持嘛?
如梦技术
如梦技术
1.x 参考 guava,spring,以及android event Bus,2.x 参考 spring 4.2.x的更加方便,解耦度更高,代码量更少。
JFinal
JFinal
代码十分简洁,jfinal 周边精品项目 :thumbsup:
每周精粹
每周精粹
event Bus
山哥
山哥
就不能好好用Spring吗?
_vince
_vince
GOOD!!!
返回顶部
顶部