前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JFinal 自动路由注册,节省开发时间 原

JFinal 自动路由注册,节省开发时间 原

作者头像
用户2603479
发布2018-08-15 16:42:53
3470
发布2018-08-15 16:42:53
举报
文章被收录于专栏:JAVA技术站

一、路由注册的实现

       路由自动注册实现起来挺简单的,只需拿到所有的Controller配置到路由就行,代码如下

代码语言:javascript
复制
package com.nmtx.route;

import java.util.ArrayList;
import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.jfinal.config.Routes;
import com.jfinal.core.Controller;
import com.nmtx.utils.ClassUtils;

public class AutoRoute extends Routes {
	public  static Logger log = LoggerFactory. getLogger(AutoRoute.class);
	
	private String packageName;

	public AutoRoute(String packageName) {
		this.packageName = packageName;
	}

	@SuppressWarnings("unchecked")
	public List<Class<? extends Controller>> getControllerClass() throws ClassNotFoundException {
		List<Class<?>> allClass = ClassUtils.scanPackage(packageName);
		List<Class<? extends Controller>> controllerClasses = new ArrayList<Class<? extends Controller>>();
		for (Class<?> controllerClass : allClass) {
			controllerClasses.add((Class<? extends Controller>) controllerClass);
		}
		return controllerClasses;
	}

	@Override
	public void config() {
		try {
			List<Class<? extends Controller>> controllerClassList = getControllerClass();
			for (Class<? extends Controller> controllerClass : controllerClassList) {
				add("/" + controllerClass.getSimpleName().replace("Controller", "").toLowerCase(), controllerClass);
			}
		} catch (ClassNotFoundException e) {
		    log.error("auto route exception ",e);
		}
	}
}

二、使用

代码语言:javascript
复制
     /**
	 * 配置访问路由
	 */
	@Override
	public void configRoute(Routes me) {
		me.add(new AutoRoute("com.nmtx.manager.controller"));
	}

就可以专心写你的方法了,注解ActionKey可覆盖自动路由的配置

如果你的Controller叫UserController,访问路径就是/user+methodName

是不是很爽,结合自动表注册插件,参数校验插件,增删改的一步封装,用JFinal开发应用,真正的做到了只关注业务,让你有更多时间,陪妹子,陪家人,最后感谢波总的JFinal神器

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/11/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档