你好,我是郭世雄,一名河北工程大学大四的学生,我在使用jfinal的过程中发现了一个问题,对原有的项目有一定的影响,所以想问问jfinal这么更改的原因。
在集成shiro插件的时候需要给shiro插件传路由对象,在jfinal3.1中,是先初始化route然后是plugin对象,如图1所示,之后我把版本升级到了3.3,项目一直报空指针一场,于是跟着jfinal框架调试了一边,发现route初始化的顺序在plugin之后了,导致项目的异常,想知道为什么这么更改,有没有什么解决方案,我是今天刚用的jfinal框架 ^_^ ,有什么不当的地方还请见谅。如果对我的表述不太清楚的话最后有详细的流程
Email:shixiong.guo@foxmail.com
图1
图2
1 现需要将shiro以插件的方式集成到jfinal中
2 shiro需要路由也就是route的依赖
3 于是自定义config类,继承JfinalConfig
4 在自定义config类中,设置全局属性route
5 初始化configRoute方法的时候将route属性赋给全局route
6 初始化configPlugin,方法内需要route依赖
如果用3.1,正常执行,如果用3.3,由于上面所说的顺序问题,导致项目启动失败
jfinal 3.4 会解决这个问题