package com.mlongbo.jfinal; import com.jfinal.config.*; import com.jfinal.plugin.activerecord.ActiveRecordPlugin; import com.jfinal.render.ViewType; import com.mlongbo.jfinal.config.Context; import com.mlongbo.jfinal.handler.ContextHandler; import com.mlongbo.jfinal.interceptor.ErrorInterceptor; import com.mlongbo.jfinal.model.*; import com.mlongbo.jfinal.plugin.HikariCPPlugin; import com.mlongbo.jfinal.router.APIRouter; import com.mlongbo.jfinal.handler.APINotFoundHandler; import com.mlongbo.jfinal.router.ActionRouter; /** * JFinal总配置文件,挂接所有接口与插件 * @author mlongbo */ public class AppConfig extends JFinalConfig { /** * 常量配置 */ @Override public void configConstant(Constants me) { me.setDevMode(true);//开启开发模式 me.setEncoding("UTF-8"); me.setViewType(ViewType.JSP); } /** * 所有接口配置 */ @Override public void configRoute(Routes me) { me.add(new APIRouter());//接口路由 me.add(new ActionRouter()); //页面路由 } /** * 插件配置 */ @Override public void configPlugin(Plugins me) { // C3p0Plugin cp = new C3p0Plugin(loadPropertyFile("jdbc.properties")); // me.add(cp); //初始化连接池插件 loadPropertyFile("jdbc.properties"); HikariCPPlugin hcp = new HikariCPPlugin(getProperty("jdbcUrl"), getProperty("user"), getProperty("password"), getProperty("driverClass"), getPropertyToInt("maxPoolSize")); me.add(hcp); ActiveRecordPlugin arp = new ActiveRecordPlugin(hcp); me.add(arp); arp.addMapping("t_user", User.USER_ID, User.class);//用户表 arp.addMapping("t_register_code", RegisterCode.MOBILE, RegisterCode.class); //注册验证码对象 arp.addMapping("t_feedback", FeedBack.class); //意见反馈表 } /** * 拦截器配置 */ @Override public void configInterceptor(Interceptors me) { me.add(new ErrorInterceptor()); } /** * handle 配置* */ @Override public void configHandler(Handlers me) { me.add(new ContextHandler()); me.add(new APINotFoundHandler()); } @Override public void afterJFinalStart() { Context.me().init(); } @Override public void beforeJFinalStop() { Context.me().destroy(); } }