JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。 在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率!为您节约更多时间,去陪恋人、家人和朋友 :)
JFinal 1.9 针对开发者最为关注的功能有20多项增强及改进。除了提供配置文件的全局支持外,还加强了在移动互联网时代对JFinal作为服务端及客户端的支持,例如XmlRender、JsonRender可极度方便地开发Xml、Json服务端程序,HttpKit可以极简地与类似于微信公众平台的API进行通信。除了功能性的增强以外,还对代码进行了优化与精简,更轻、更快、更爽 ^_^
MVC架构,设计精巧,使用简单
遵循COC原则,零配置,无xml
独创Db + Record模式,灵活便利
ActiveRecord支持,使数据库开发极致快速
自动加载修改后的java文件,开发过程中无需重启web server
AOP支持,拦截器配置灵活,功能强大
Plugin体系结构,扩展性强
多视图支持,支持FreeMarker、JSP、Velocity
强大的Validator后端校验功能
功能齐全,拥有struts2的绝大部分功能
体积小仅248K,且无第三方依赖
了解jfinal的结构和特点
先上图
1、建数据库(我用的是oracle数据库,其他的相对也差不多)
-- Create tablecreate table CLASSES
(
classesid NUMBER not null,
classesname VARCHAR2(20),
classesaddress VARCHAR2(50)
);-- Create tablecreate table STUDENT
(
studentid NUMBER not null,
studentname VARCHAR2(10),
studentage NUMBER,
studentsex VARCHAR2(2),
classesid NUMBER);alter table STUDENT add constraint FK_CLASSESID foreign key (CLASSESID) references CLASSES (CLASSESID);
新建项目,我用的myeclipse,先把jar包导入
2、实体类
Classes.java
package com.demo.model;import com.jfinal.plugin.activerecord.Model;public class Classes extends Model<Classes> { public static final Classes dao = new Classes();
}
Student.java
package com.demo.model;import com.jfinal.plugin.activerecord.Model;public class Student extends Model<Student> { public static final Student dao = new Student(); public Classes getClasses() { return Classes.dao.findById(get("classesid"));
}
}
什么这是实体类?
没错!!~ ActiveRecord 是 jfinal 最核心的组成部分之一,通过 ActiveRecord 来操作数据库,将极大地减少代码量,极大地提升开发效率,配置在后面,我这里用的是Model,Model 是 ActiveRecord 中最重要的组件之一,它充当 MVC 模式中的 Model部分。
以上代码中的 User 通过继承 Model,便立即拥有的众多方便的操作数据库的方法。在 User 中声明的 dao 静态对象是为了方便查询操作而定义的,该对象并不是必须的。 基于ActiveRecord 的 Model 无需定义属性, 无需定义 getter、 setter方法,无需 XML 配置,无需 Annotation 配置,极大降低了代码量。Model常见方法见官方API。
JFinal还有 独创 Db + Record 模式,Db 类及其配套的 Record 类, 提供了在 Model 类之外更为丰富的数据库操作功能。使用 Db 与 Record 类时,无需对数据库表进行映射,Record 相当于一个通用的 Model。Db常见方法见官方API。
1:添加PropKit、Prop方便全局使用配置,配置文件加载默认目录改为类路径之下,符合maven习惯
2:增强jsp之下的jstl的EL输出,添加ModelRecordElResolver,JspRender.isSupportActiveRecord默认值改为false,默认使用EL增强
3:添加HttpKit及EncryptionKit方便与第三方API进行通信与加密,便于开发微信公众号这类项目
4:添加Controller.renderXml(String)方便开发xml服务端项目
5:增强FileRender,文件下载支持多线程下载以及断点续传功能
6:改进DbPro.tx()与Tx拦截器事务功能,添加对抛出Error时的回滚,增强事务安全
7:优化ActionHandler对静态资源判断性能,支持对抛出Error时写日志,方便jvm当掉时排查错误
8:提升Oracle在表数据量极大时ARP初始化性能,OracleDialect.forTableBuilderDoBuild()中sql条件改为rownum<1,fillStatement()添加对Timestamp的判断
9:优化JsonRender,添加JsonRender.addExcludeAttrs()方法,可以排除renderJson()时不想转换为json的属性,默认已经排除tomcat开启SSL后自动生成的属性,方便tomcat支持SSL
10:优化 StrKit.firstCharToLowerCase、firstCharToUpperCase,性能提升 2.1 倍
11:增强HandlerKit,添加renderError404(),方便在Handler中使用404页面进行渲染
12:增强FakeStaticHandler,支持对非伪静态action请求的过滤
13:精简JFinalConfig与配置加载、读取有关代码
14:ICallback.run()更名为call()
15:开放Table.getColumnTypeMap()方便开发者扩展ARP功能,并使其返回的map为只读确保安全
16:添加Controller.renderText(String, ContentType)方便各种Content Type的text渲染
17:添加com.jfinal.plugin.activerecord.OrderedFieldContainerFactory 类,方便开发数据库查询工具项目,以便model中的属性迭代输出顺序与sql select后的字段次序保持一致
18:优化DruidPlugin,driverClass 默认值改为 null,以便让新版本Druid自动探测该值
19:改进EhCachePlugin,添加RenderInfo、RenderType解决对render对象缓存时线程安全问题
20:优化SessionInViewInterceptor,跳过处理JsonRender提升性能
21:支持Controller内public无参方法成为非action,添加com.jfinal.ext.interceptor.NotAction,通常用于在拦截器中需要控制器提供public无参方法的场景
22:优化JsonKit,listToJson、mapToJson方法可见性改为private,对这些方法有依赖的代码可改为调用toJson()方法
23:优化Render,去掉对Serializable接口的实现,删除所有Render继承类中的transient关键字以及serialVersionUID属性
文件清单及使用说明
1:jfinal-1.9-bin.jar
开发 jfinal 项目唯一必须的 jar 包,其它所有 jar 包都不是必须的
2:jfinal-1.9-src.zip
jfinal 1.9 源代码
3:jfinal-1.9-bin-with-src.jar
jfinal 1.9 开发包 + 源码 的整合,方便非 maven 开发者在开发时调试和查看源码,从而不用再单独绑定 jfinal-1.9-src.zip 就可以在 IDE 中查看源码
4:jetty-server-8.1.8.jar
jetty-server-8.1.8.jar 用来支持无需额外安装 tomcat jetty 等 web server
即可开始开发,同时它也是支持热部署的必要包。特别注意在使用tomcat开发或部署时需要去掉 jetty-server-8.1.8.jar 包,以免引起冲突
5:jfinal-1.9-lib 目录下所有 jar 包
为开发者准备的常用且可能用到的 jar 包,方便非 maven 用户取用。详情请见 jfinal-1.9-lib 目录下的说明文件:“jfinal-1.9-库文件依赖及使用说明.txt”
未经书面许可,严禁将本网内容作为AI训练资源。
33台词PC版 0.1
文件批量改名Bulk Rename Utility v3.4.1 中文绿色版
PDF快转(SanPDF) v2.0.6.66 官方版
菲菲更名宝贝之得意非凡FFRenamePro V4.0专业版
查找大文件(WizTree) v3.35 绿色版
文件比较查重工具WinMerge v2.16.8.0 中文版
Windows文件管理器(WinNc) v9.4.0.0 官方安装版
文件压缩档案提取(Explzh) v8.18 官方版
WinMerge v2.16.7.0 官方多语中文版
UltraCompare文件比较工具汉化修正中文版 V21.10.0.20免费64位注册码绿色版
文档自动转换工具BlackIce BiBatchConverter v4.80.632 官方版
批量文本文件处理器 V1.4绿色版
MAXHUB文档客户端 v1.3.1官方PC版
文件校验工具(EF CheckSum Manager) v20.02 官方版
全速pdf转换成excel转换器 v7.8.0.0官方版