jfinal如何开发插件

在实现iplugin这个接口中,start和stop中的返回值意味 着什么?在手册中没有关于插件开发的说明啊

评论区

JFinal

2017-01-01 15:07

start() 与 stop() 方法会别会在 jfinal 启动与停止时被回调,开发插件,只需要实现 IPlugin 接口,在 start() 里面放入希望项目启动时的操作,在 stop() 中放入希望项目停止时的操作即可

除了 Plugin 以外,jfinal 的主要扩展方式有:Controller、Model、Interceptor、Render、Handler,这五个扩展方式相对比较具体,针对于特定需求去扩展,而 IPlugin 就担当起了不确定需求与方向的扩展,因为 jfinal 无法穷尽所有用户需求和场景,而 Plugin 是一个更加抽象化,没有指明具体方向的扩展

JFinal

2017-01-01 15:07

具体希望知道如何开发插件,只需要看一下 com.jfinal.plugin 包下面的几个现成的插件,照猫画虎就可以了,其中的 DruidPlugin 这类插件只有一个文件,是极其简单的

xzquan

2017-01-01 17:25

返回true和false意味着什么?我应该在哪些情况下返回true,哪些情况下返回false

JFinal

2017-01-01 17:57

@xzquan 返回true 对于 start() 来说是告诉 jfinal 插件启动正常,返回 false则 jfinal 会报出异常,终止项目的启动,这种机制是让插件可以告知 jfinal 是否要终止项目的启动

如果某个插件是一个关键性插件,启动不正常就会影响关键业务,这时让项目无法启动是必要的

类似的 stop 是告知 jfinal 插件停止失败,jfinal 会对此写日志,可通过查看日志知道插件为什么没有停止成功,进而去修正程序

热门反馈

扫码入社