JFinal社区:
https://www.jfinal.com
JFinal简介
JFinal 是基于Java 语言的极速 web 开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python等动态语言的开发效率。
JFinal系统架构
JFinal 采用微内核全方位扩展架构,全方位是指其扩展方式在空间上的表现形式。
JFinal由Handler、Interceptor、Controller、Render、Plugin五大部分组成。
JFinal架构十分简单,顶层是一个责任链模式变种,ActionHandler 内部结构也十分简单,是一个Command模式变种。JFinal 架构图如下:
JFinal流程图如下:
JFinal的优点
1,遵循COC原则,零配置,无xml
注:coc即惯例优于配置原则
将一些公认的配置方式和信息作为内部缺省的规则来使用
2,ActiveRecord支持,使数据库开发极致快速
注: ActiveRecord 是 JFinal 最核心的组成部分之一,通过 ActiveRecord 来操作数据库,将极大地减少代码量,极大地提升开发效率。
3,自动加载修改后的java文件,开发过程中无需重启web server
4,AOP支持,拦截器配置灵活,功能强大
5,Plugin体系结构,扩展性强
6,多视图支持,支持FreeMarker、JSP、Velocity
注:
FreeMarker是一款模板引擎:
即一种基于模板和要改变的数据,
并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。
它不是面向最终用户的,
而是一个Java类库,
是一款程序员可以嵌入他们所开发产品的组件
7,强大的Validator后端校验功能
8,功能齐全,拥有struts2的绝大部分功能
9,体积小仅218K,且无第三方依赖
补充:
JFinal遵循Restful规范,而struts自身未提供Restful支持
项目开发引入RESTful架构,利于团队并行开发。
在RESTful架构中,将多数HTTP请求转移到前端服务器上,
降低服务器的负荷,使视图获取后端模型失败也能呈现。
RESTful架构是对MVC架构改进后所形成的一种架构,
通过使用事先定义好的接口与不同的服务联系起来。
在RESTful架构中,浏览器使用POST,DELETE,PUT和GET四种请求方式
分别对指定的URL资源进行增删改查操作。
因此,RESTful是通过URI实现对资源的管理及访问,具有扩展性强、结构清晰的特点。
JFinal的开发框架
Controller
Controller是JFinal核心类之一,该类作为MVC模式中的控制器。基于JFinal的Web应用的控制器需要继承该类。Controller是定义Action方法的地点,是组织Action的一种方式,一个Controller可以包含多个Action。
Model
Model是ActiveRecord中最重要的组件之一,它充当MVC模式中的Model部分。
实体类通过继承Model,便立即拥有的众多方便的操作数据库的方法。基于ActiveRecord的Model无需定义属性,无需定义getter、setter方法,无需XML配置,无需Annotation配置,极大降低了代码量。
JFinal开发环境
Eclipse中开发JFinal项目有专门的辅助插件-JBolt插件,提供了模板指令代码提示功能和一键创建开发环境、代码生成能力。
JBolt插件安装教程:http://www.jfinal.com/share/1052