首页>代码>快速开发框架之jfinal入门项目搭建实例>/jfinal_demo_for_maven/src/main/java/com/demo/common/DemoConfig.java
package com.demo.common;

import com.demo.blog.BlogController;
import com.demo.common.model._MappingKit;
import com.demo.index.IndexController;
import com.jfinal.config.Constants;
import com.jfinal.config.Handlers;
import com.jfinal.config.Interceptors;
import com.jfinal.config.JFinalConfig;
import com.jfinal.config.Plugins;
import com.jfinal.config.Routes;
import com.jfinal.core.JFinal;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.druid.DruidPlugin;
import com.jfinal.template.Engine;

/**
 * 本 demo 仅表达最为粗浅的 jfinal 用法,更为有价值的实用的企业级用法
 * 详见 JFinal 俱乐部: http://jfinal.com/club
 * 
 * API引导式配置
 */
public class DemoConfig extends JFinalConfig {
	
	/**
	 * 运行此 main 方法可以启动项目,此main方法可以放置在任意的Class类定义中,不一定要放于此
	 * 
	 * 使用本方法启动过第一次以后,会在开发工具的 debug、run config 中自动生成
	 * 一条启动配置,可对该自动生成的配置再添加额外的配置项,例如 VM argument 可配置为:
	 * -XX:PermSize=64M -XX:MaxPermSize=256M
	 */
	public static void main(String[] args) {
		/**
		 * 特别注意:Eclipse 之下建议的启动方式
		 */
		JFinal.start("src/main/webapp", 80, "/", 5);
		
		/**
		 * 特别注意:IDEA 之下建议的启动方式,仅比 eclipse 之下少了最后一个参数
		 */
		// JFinal.start("src/main/webapp", 80, "/");
	}
	
	/**
	 * 配置常量
	 */
	public void configConstant(Constants me) {
		// 加载少量必要配置,随后可用PropKit.get(...)获取值
		PropKit.use("a_little_config.txt");
		me.setDevMode(PropKit.getBoolean("devMode", false));
	}
	
	/**
	 * 配置路由
	 */
	public void configRoute(Routes me) {
		me.add("/", IndexController.class, "/index");	// 第三个参数为该Controller的视图存放路径
		me.add("/blog", BlogController.class);			// 第三个参数省略时默认与第一个参数值相同,在此即为 "/blog"
	}
	
	public void configEngine(Engine me) {
		me.addSharedFunction("/common/_layout.html");
		me.addSharedFunction("/common/_paginate.html");
	}
	
	/**
	 * 配置插件
	 */
	public void configPlugin(Plugins me) {
		// 配置 druid 数据库连接池插件
		DruidPlugin druidPlugin = new DruidPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim());
		me.add(druidPlugin);
		
		// 配置ActiveRecord插件
		ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
		// 所有映射在 MappingKit 中自动化搞定
		_MappingKit.mapping(arp);
		me.add(arp);
	}
	
	public static DruidPlugin createDruidPlugin() {
		return new DruidPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim());
	}
	
	/**
	 * 配置全局拦截器
	 */
	public void configInterceptor(Interceptors me) {
		
	}
	
	/**
	 * 配置处理器
	 */
	public void configHandler(Handlers me) {
		
	}
}
最近下载更多
play木  LV1 2021年1月8日
ITboysDu  LV11 2020年8月12日
assadd  LV9 2020年8月7日
aaa最代码  LV14 2020年8月4日
kkkkkkk123  LV2 2020年7月5日
zjj168168  LV1 2020年4月10日
15858180882  LV2 2020年4月7日
jiajia91323  LV23 2019年12月24日
111111222222333333  LV4 2019年10月24日
最近浏览更多
sccs1984  LV15 2月19日
FF加菲猫  LV4 2023年3月22日
qq1061521319  LV4 2022年12月8日
刘亦菲9527  LV15 2022年2月23日
cqbscxh  LV11 2021年11月22日
lwp011  LV27 2021年11月5日
孙龙52  LV6 2021年11月2日
ewan007  LV30 2021年8月19日
linom199144  LV2 2021年7月5日
疯狂的巨兔12138  LV4 2021年5月14日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友