jfinal學習筆記一
阿新 • • 發佈:2019-01-05
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) {
}