JFinal2.2初体验之框架配置文件(二)

每一个框架都会有自己的配置文件,jfinal也不例外。今天我们一起来学习JFinalConfig 配置文件。

1.源码快速查看
public abstract class JFinalConfig {
    /**
     * Config constant
     */
    public abstract void configConstant(Constants me);
    /**
     * Config route
     */
    public abstract void configRoute(Routes me);
    /**
     * Config plugin
     */
    public abstract void configPlugin(Plugins me);
    /**
     * Config interceptor applied to all actions.
     */
    public abstract void configInterceptor(Interceptors me);
    /**
     * Config handler
     */
    public abstract void configHandler(Handlers me);
    /**
     * 篇幅原因省略部分代码
     */
}

JFinalConfig 是一个abstract(抽象)class(类),抽象类中有5个抽象方法,它们的作用分别是:配置框架常量(constant)、访问路由(route)、插件(plugin)、拦截器(interceptor)、处理器(handler)。

2.编写配置文件

在工程中新建一个java文件,例如DemoConfig.java,然后继承JFinalConfig类型。具体代码如下:

public class DemoConfig extends JFinalConfig {
    
    /**
     * 配置常量
     */
    public void configConstant(Constants me) {
        // 加载少量必要配置,随后可用PropKit.get(...)获取值
        PropKit.use("a_little_config.txt");    //常用的数据库配置信息等
        me.setDevMode(PropKit.getBoolean("devMode",false)); 
        //JFinal 支持 JSP、 FreeMarker、 Velocit及其它视图
        //me.setDevMode(true); 设置为开发模式
        // me.setViewType(ViewType.JSP);选择jsp视图,反正我是不用jsp视图了。
       //我现在都是直接用html。
    }
    
    /**
     * 配置路由
     */
    public void configRoute(Routes me) {
        me.add("/", IndexController.class,"/index");    // 第三个参数为该Controller的视图存放路径
        me.add("/blog", BlogController.class);        // 第三个参数省略时默认与第一个参数值相同,在此即为 "/blog"
        me.add("/sinlogin",LoginController.class);      //这是我跟着demo配置的一个登陆页面的路由
    }
    
    public static C3p0Plugin createC3p0Plugin() {
        return new C3p0Plugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim());
    }
    
    /**
     * 配置插件
     */
    public void configPlugin(Plugins me) {
        // 配置C3p0数据库连接池插件
        C3p0Plugin C3p0Plugin = createC3p0Plugin();
        me.add(C3p0Plugin);
        
        // 配置ActiveRecord插件
        ActiveRecordPlugin arp = new ActiveRecordPlugin(C3p0Plugin);
        me.add(arp);
        
         // 配置属性名(字段名)大小写不敏感容器工厂
        arp.setContainerFactory(new CaseInsensitiveContainerFactory());

        //关系映射model
        arp.addMapping("user", User.class);
        
        // 所有配置在 MappingKit 中搞定
        _MappingKit.mapping(arp);
    }
    
    /**
     * 配置全局拦截器
     */
    public void configInterceptor(Interceptors me) {
        
    }
    
    /**
     * 配置处理器
     */
    public void configHandler(Handlers me) {
        
    }
    

今天先了解一下这几个配置文件的概念,接下来我会写一个demo。愿大家能够学习快乐。

你可能感兴趣的:(JFinal2.2初体验之框架配置文件(二))