架构师学习之路2框架分析之jfinal2.0——1

这章开始,我尝试分析一下快速开发框架jfinal

http://www.jfinal.com/

JFinal有如下主要特点:

  • MVC架构,设计精巧,使用简单
  • 遵循COC原则,零配置,无xml
  • 独创Db + Record模式,灵活便利
  • ActiveRecord支持,使数据库开发极致快速
  • 自动加载修改后的java文件,开发过程中无需重启web server
  • AOP支持,拦截器配置灵活,功能强大
  • Plugin体系结构,扩展性强
  • 多视图支持,支持FreeMarker、JSP、Velocity
  • 强大的Validator后端校验功能
  • 功能齐全,拥有struts2的绝大部分功能
  • 体积小仅248K,且无第三方依赖
最近jfinal2.0上线了,之后的几篇文章是分析jfinal2.0

空间架构

 框架采用微内核全方位扩展架构,全方位是指其扩展方式在空间上的表现形式。整个空间架构又Handle、Interceptor、Controller、Render、Plugin五个部分组成。每个部分都是基于接口实现的,支持完整的定义,扩展性强。

逻辑架构

 经典的mvc模式演化成6个步骤

1.Http  包括 httpservletRequest 和httpServletResponse,既客户端请求和响应

2.Filter  所有请求的拦截器

3.Handle   请求处理器,对所有请求的公共处理,我们可以做权限控制、安全验证等,它是责任链的变种,由初始配置的Handler以及框架默认的ActionHandle,构成链条,一次执行

4.Action 动作处理器,他是AOP+Command模式的变种。有ActionInvocation进行调度,先执行拦截器,最后执行具体方法

5.Model  模型层,包括实体模型的定义、DB+ActiveRecord模式数据库操作的支持、从请求中解析出对应参数构造Model实例,可以把它看成DAO

6.Render 渲染曾。负责将服务端的数据组装成客户端需要的数据格式,然后reponse到客户端。支持洞中视图 FreeMark、Jsp、VELOCITY

包简介

aop:拦截器

config:通用配置

core:核心处理,主要是Controller的调度

ext:扩展包

handle:全局处理器

i18n:国际化

kit:工具类

log:日志类

plugin:插件处理

render:渲染处理

server:服务器

token:令牌

upload:文件上传处理

validate:验证处理,主要是数据持久化时的验证

核心类作用

1:JFinalFilter 框架入口,也是接管所有请求的地方

2:ActionMapping 映射url至action

3:ActionHandler 接管动态请求,控制 action + interceptor + render 执行流程

4:ActionInvocation 执行interceptor + action

5:Render 渲染视图

6:ActiveRecord 数据库支持

7:JFinalConfig 系统配置

8:Validator 校验



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值