博客
关于我
JFinal个人学习笔记之源码分析2
阅读量:329 次
发布时间:2019-03-04

本文共 668 字,大约阅读时间需要 2 分钟。

JFinal框架中的ActionMapping.buildActionMapping()方法负责将controller中的方法注解转化为路由映射,并处理相关的拦截器。以下是对该方法的详细分析:

  • 初始化映射集合:方法首先初始化了一个空的映射集合mapping,用于存储路由信息。

  • 生成排除方法名集合:调用buildExcludedMethodName()获取所有无参数的Controller方法名,用于过滤非路由方法。

  • 获取拦截器管理器:通过InterceptorManager.me()获取拦截器管理实例,用于处理全局和方法级拦截器。

  • 遍历路由规则:对于每个路由规则,获取对应的controllerClass,并生成拦截器数组controllerInters。

  • 确定方法获取方式:判断controllerClass是否继承自Controller,决定使用getDeclaredMethods还是getMethods获取方法列表。

  • 处理每个方法

    • 跳过排除方法或有参数的方法。
    • 检查方法访问权限,跳过非公共方法。
    • 生成拦截器并处理ActionKey注解,构建actionKey。
    • 创建Action对象并存入映射,避免重复路由。
  • 处理特殊路由:处理路由为"/"的特殊情况,将其映射到空字符串,支持URL参数。

  • 处理拦截器创建:通过反射创建拦截器实例,并管理拦截器的单例存储。

  • 该方法确保了每个controller方法正确注册为路由,并配置相应的拦截器,支持全局和方法级拦截器的使用。理解这一过程有助于深入掌握JFinal的路由和AOP功能。

    转载地址:http://qzfh.baihongyu.com/

    你可能感兴趣的文章
    poi 读取单元格为null者空字符串
    查看>>
    poi-tl简介与文本/表格和图片渲染
    查看>>
    pointnet分割自己的点云数据_PointNet解析
    查看>>
    POI实现Excel导入Cannot get a text value from a numeric cell
    查看>>
    POI实现Excel导入时提示NoSuchMethodError: org.apache.poi.util.POILogger.log
    查看>>
    POI实现Excel导出时常用方法说明
    查看>>
    POI导出Excel2003
    查看>>
    POI数据获取及坐标纠偏
    查看>>
    Quartz入门看这一篇文章就够了
    查看>>
    POI解析Excel【poi的坑——空行处理】
    查看>>
    POI:POI+JXL实现xls文件添加水印
    查看>>
    POI:POI实现docx文件添加水印
    查看>>
    POJ 1006
    查看>>
    Quartz中时间表达式的设置-----corn表达式
    查看>>
    poj 1035
    查看>>
    POJ 1061 青蛙的约会 (扩展欧几里得)
    查看>>
    Quartz2.2.1简单使用
    查看>>
    POJ 1080 Human Gene Functions(DP:LCS)
    查看>>
    Quant 开源项目教程
    查看>>
    POJ 1088 滑雪
    查看>>