首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
jfinal如何开发插件
xzquan
2017-01-01 14:39
在实现iplugin这个接口中,start和stop中的返回值意味 着什么?在手册中没有关于插件开发的说明啊
项目:
JFinal
3
2
评论区
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 会对此写日志,可通过查看日志知道插件为什么没有停止成功,进而去修正程序
回复
发送
我要反馈
麦芽 AI 平台
热门反馈
扫码入社
除了 Plugin 以外,jfinal 的主要扩展方式有:Controller、Model、Interceptor、Render、Handler,这五个扩展方式相对比较具体,针对于特定需求去扩展,而 IPlugin 就担当起了不确定需求与方向的扩展,因为 jfinal 无法穷尽所有用户需求和场景,而 Plugin 是一个更加抽象化,没有指明具体方向的扩展