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

简介: 一、路由注册的实现       路由自动注册实现起来挺简单的,只需拿到所有的Controller配置到路由就行,代码如下package com.nmtx.route;import java.util.

一、路由注册的实现

       路由自动注册实现起来挺简单的,只需拿到所有的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神器

相关文章
|
SQL 开发框架 缓存
JFinal开发的saas进销存系统
管店云开源进销存是一款基于SaaS架构的进销存管理软件,适用于各类企业和商家。
118 0
|
XML Java 数据格式
JFinal开发环境搭建,JFinal开发案例
 JFinal  是基于 Java  语言的极速  WEB  + ORM  开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java 语言所有优势的同时再拥有 ruby、python、php 等动态语言的开发效率! JFinal 有如下主要特点:l  MVC 架构,设计精巧,使用简单l  遵循 COC 原则,零配置,无 xmll  独
2216 0
|
Web App开发 Java 关系型数据库
(比springmvc更快的开发)jfinal 快速开发入门 freemarker mysql
  源码下载 : http://download.csdn.net/download/knight_black_bob/9160015              sql   SET FOREIGN_KEY_CHECKS=0; -- --------------...
1213 0
|
3月前
|
前端开发 JavaScript UED
JFinal框架中防止表单重复提交的方法
每种方法都有其优势和局限性。Token机制能提供较为稳定可靠的保护,但增加了服务器端的处理负担。锁定机制在处理并发请求时更有效,但可能导致用户体验的下降。JavaScript客户端控制提供了良好的用户体验,但依赖于客户端的执行环境。在实际应用中,可以根据具体的场景和需求,选择最适合的方法,或者将多种方法组合使用,以达到最佳的效果。
45 10
|
JavaScript 前端开发 Java
JFinal框架单文件、多文件上传详解
版权声明:本文为博主原创文章,如需转载,请标明出处。 https://blog.csdn.net/alan_liuyue/article/details/79386540 简介  ...
2793 0
|
Java PHP Spring
从今天开始,要入jfinal的坑了,试试这破框架好不好用。
公司要用jfinal,所以我要入坑了。 听说时去年很火的java框架,不知好不好,试试水吧。 看官网就想吐槽 看个文档吧,还要注册。。。现在是2017年吗?? 好吧,注册完了,接着就。
2029 0
|
Java 调度 Maven
JFinal框架_定时触发程序
JFinal框架进行作业调度,使用JFinal-ext2与quartzf进行配置。 maven说明: com.jfinal jfinal 3.2 com.jfinal jfinal-ext2 2.
1710 0
|
Java 数据格式 XML
jfinal框架文件下载功能代码
版权声明:本文为博主原创文章,如需转载,请标明出处。 https://blog.csdn.net/alan_liuyue/article/details/72779838 一. 前言   上一篇博客我们了解了struts2框架的文件下载功能代码,我们可以从中总结到,struts2主要是通过其xml的配置来处理文件下载的,也就是将普通io流文件下载的页面响应方式的这部分代码分离出来,使用xml配置来处理,这也是struts2的特性。
1761 0