每一个框架都会有自己的配置文件,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。愿大家能够学习快乐。