jfinal主要配置是在config这个类中,这个类需要继承JFinalConfig类,并实现它的5个接口:
no.1:
void configConstant(Constants me){
loadPropertyFile("a_little_config.txt"); //加载DB配置文件
me.setDevMode(getPropertyToBoolean("devMode", false));//设置为开发者模式
为true的时候jfinal里面会有一些check判断,判断实体类名称和你sql里面操作的类名是否一致等,为false时候就可以不用判断这个时候系统已经开发完成,不需要在check了,大大提高了计算速度
me.setViewType(ViewType.JSP);//页面视图(支持velocity jsp freemaker)
}
no.2:
void configRoute(Routes me){
me.add("/", CommonController.class);
me.add("/blog", BlogController.class)
//在这里配置Controller路由
}
Routes 类主要 有如下 两个 方法:
public Routes add(String controllerKey, Class<? extends Controller> controllerClass, String viewPath)
public Routes add(String controllerKey, Class<? extends Controller> controllerClass)
第一个参数 controllerKey是指访问某个 Controller所需要的一个字符串 ,该 字符串唯一对应个 Controller,controllerKey仅能定位到 仅能定位到 Controller。第二个参 数 controll er Class 是该 controllerKey所对应 到的 Controller。第三个参数 view Path 是指 该 Controller返回的视图 的相对路径。当 view Path未指定时默认值为 controllerKey。
1.当url是http://localhost/controllerKey时,调用的是对应控制类的index()方法;
当需要传参数时,url这样写:http://localhost/controllerKey/a-b-c,参数之间用中横线分开,
index()方法中调用getPara(i)得到参数,i是参数对应的下标,例如a的下标是0,b的下标是1,c的下标是2.
2.当url是http://localhost/controllerKey/method时,调用的是对应控制类的method()方法;
no.3:
void configPlugin(Plugins me) {
// 配置C3p0数据库连接池插件
C3p0Plugin c3p0Plugin = new C3p0Plugin(getProperty("jdbcUrl"), getProperty("user"), getProperty("password").trim());
me.add(c3p0Plugin);
// 配置ActiveRecord插件
ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);
me.add(arp);
//还有这里一般还可配置其他插件,如集成ioc
GuicePlugin guicePlugin=new GuicePlugin();
guicePlugin.bind(BaseService.class, DbService.class);
me.add(guicePlugin);
arp.addMapping("blog", Blog.class); // 映射blog 表到 Blog模型
//arp.addMapping("blog","pk" Blog.class);//不指定主键名,默认为id
}
no.4:
public void configInterceptor(Interceptors me) {
//配置全局拦截
}
no.5:
/** * 配置处理器 */
public void configHandler(Handlers me) {
}