JFinalConfig详解

来源:互联网 发布:steam上mac游戏 编辑:程序博客网 时间:2024/06/07 18:32

所有基于JFinal的web项目都需要创建一个继承自JFinalCOnfig的子类,该子类用于对这个web项目进行配置。子类需要实现六个抽象方法:

configConstant(Constants me)
配置JFinal常量值,如开发模式常量devMode的配置me.setDevMode(true);在开发模式下,JFinal会对每次请求输出报告,如输出本次请求的url、controller、method以及请求所携带的参数。

configRoute(Routes me)
配置访问路由,当在Controller中方法中加入@ActionKey, 则直接访问@ActionKey的路径即可,与Spring MVC中的RequestMapping类似。

添加路由的两个方法:

public Routes add(String controllerKey, Class<? extends Controller> controllerClass, String viewPath)
public Routes add(String controllerKey, Class<? extends Controller> controllerClass)



configEngine(Engine me)
配置模板引擎

configPlugin
配置JFinal的Plugin,如数据库连接池插件等

 @Override    public void configPlugin(Plugins me) {        //加载MySQL的properties配置文件        Prop prop = PropKit.use("jdbc.properties");        DruidPlugin dp = new DruidPlugin(prop.get("jdbc.url"),                prop.get("jdbc.user"), prop.get("jdbc.password"));        me.add(dp);        ActiveRecordPlugin arp = new ActiveRecordPlugin(dp);        me.add(arp);        arp.addMapping("user","userId", User.class);//映射user表和User类,如果数据表的主键是id,则可以不用指定            }
configInterceptor(Interceptors me)
配置JFinal全局拦截器,拦截所有action请求,除非使用@Clear在Controller中清除。
Interceptor配置粒度分为Gloal、Inject、Class、Method

configHandler(Handlers me)
Handler可以接管所有的web请求,并对应用拥有完全的控制权,可以很方便地实现更高层的功能性扩展。

afterJFinalStart()与beforeJFinalStop()
这两个方法供开发者在JFinalConfig继承类中覆盖。JFinal会在系统启动完成后回调afterJFinalStart()方法,会在系统关闭前回调
beforeJFinalStop()方法。这两个方法可以很方便地在项目启动后与关闭前让开发者有机会进行额外操作,如在系统启动后创建调度线程或在系统关闭前写会缓存。

PropKit工具类用来操作外部配置文件,PropKit可以方便地在系统任何时空使用。




1 0
原创粉丝点击