JFinal 自动路由注册,节省开发时间
一、路由注册的实现
路由自动注册实现起来挺简单的,只需拿到所有的Controller配置到路由就行,代码如下
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);
}
}
}
二、使用
/**
* 配置访问路由
*/
@Override
public void configRoute(Routes me) {
me.add(new AutoRoute("com.nmtx.manager.controller"));
}
就可以专心写你的方法了,注解ActionKey可覆盖自动路由的配置
如果你的Controller叫UserController,访问路径就是/user+methodName
是不是很爽,结合自动表注册插件,参数校验插件,增删改的一步封装,用JFinal开发应用,真正的做到了只关注业务,让你有更多时间,陪妹子,陪家人,最后感谢波总的JFinal神器

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
JFinal一行代码搞定增删改,要的就是快
一、拓展篇 首先需要重写getModel方法,但是这有个问题,重写之后的方法和getModel的参数有点冲突,所以选择不重写,另外写个方法占且叫getBaseModel吧,getBaseModel的实现如下 /** * * @Description: 基础类扩展,实现在一些快速的一步操作 * @author lianghao * @date 2016年2月26日 下午3:02:04 */ public class BaseController extends Controller { public <T extends Model<?>> T getBaseModel(Class<?> modelClass, String... removeParas) { T model = null; try { model = (T) modelClass.newInstance(); } catch (Exception e) { logger.error("baseController init exception" + e); } Map<Stri...
-
下一篇
JFinal 参数校验插件扩展,让后台参数校验像js一样方式好用
一、插件实现 插件的功能就是加载校验规则,实现代码如下 package com.nmtx.plugins.validation; import java.util.Properties; import com.jfinal.core.Const; import com.jfinal.kit.Prop; import com.jfinal.kit.PropKit; import com.jfinal.plugin.IPlugin; public class ValidationPlugin implements IPlugin{ protected Prop prop = null; public ValidationPlugin(String fileName) { prop = PropKit.use(fileName, Const.DEFAULT_ENCODING); } public ValidationPlugin(String fileName, String encoding) { prop = PropKit.use(fileName, encoding); } /** ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Mario游戏-低调大师作品
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2全家桶,快速入门学习开发网站教程
- Crontab安装和使用
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS关闭SELinux安全模块