发布于 2015-12-29 07:55:55 | 326 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

JFinal 基于Java极速WEB+ORM 框架

JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率!为您节约更多时间


JFinal 2.1 将带给大家超过60项增强与改进,此次升级核心目的,一是全面解救传统SSH开发者,强力推动这些早已累成狗的工程师转投 JFinal 怀抱,二是与老用户建立更深的情感,答谢你们长久以来对JFinal的支持!

作为传统SSH开发者全面转投JFinal怀抱的版本,JFinal 2.1必须带给SSH用户全新的足够消除他们顾忌的极速化功能,传统JavaBean的回归 必不可少,但不能是简单的回归,必须还要完全拥有 JFinal 所有优势,并且还要彻底消除所带来的体力劳动。

一、极速合体 Model与JavaBean

JFinal 2.1引入BaseModel设计实现Model与JavaBean的合体,在保持了Model类干净清爽的同时,极速拥有JavaBean所有优势,并且极速响应数据表的任何变化。以下是示例代码:

// 生成 BaseModel
new Generator(...).generate();

// 依然清爽的 Account Model
public class Account extends<BaseAccount> {

}

// setter、getter 完美回归
public void actoin() {
  new Account().setUserName(userName);
}

BaseModel承载 getter、setter,留给 Model一个清爽的世界,也令表结构变化后的重构安全放心,丝毫不打扰Model中的代码。

以上代码展示,只需要使用Generator一步即可完成合体工作,在保持Model所有优势的前提下,getter、setter实现完美回归。

小木学堂相关视频教程分享:
http://www.tudou.com/programs/view/sb4U1aWCNks/
http://pan.baidu.com/s/1c1tkmUO

二、极速化table与Model自动映射,极速化主键/复合主键自动配置

JFinal 2.1引入MappingKit设计,实现table与Model的极速映射,主键/复合主键的极速配置,完全不需要人工干预,如下是生成的MappingKit.java的代码:

// MappingKit 自动映射,无需人工干预
public class _MappingKit {
  public static void mapping(ActiveRecordPlugin arp) {
   arp.addMapping("account", "id", Account.class);
   arp.addMapping("order", "id,serialId", Order.class);
  }
}

// 在ActiveReocrdPlugin 中使用MappingKit,JFiinalConfig中无比清爽
public void configPlugin(Plugins me) {
  ActiveRecordPlugin arp = new ActiveRecordPlugin(...);
  me.add(arp);  
  _MappingKit.mapping(arp);
}

    无论你的项目是几百张表还是几千张表,搞定映射都在弹指一挥间!

三、极速化验证码支持

    值此12306又是一年吐槽之际,JFinal 2.1特别针对验证码进行了极速化的增强,将验证码提升为Controller一等公民,在Controller之中直接调用 renderCapthca()极速渲染。新版本实现不仅颜值超高,安全性更好,而且使用方式更加极速,无论是生成还是验证全然一行代码的事:

// 极速渲染超高颜值验证码
public void edit() {
  renderCaptcha();
}

// 极速验证那都不是个事
public void save() {
  validateCaptcha(field);
}

在保证高颜值,极速用法的同时,新版验证码还使用了随机字体、随机文字旋转、随机背景圆圈、随机曲线,httpOnly等多种安全化处理。

四、极速化json与Object互转,极速化json服务端

JFinal 2.1新增独立json处理模块,引入更加专业化的json实现,为开发高性能json服务应用提供强力支持。引入Json、IJsonFactory抽象,并提供jfinal、jackson、fastjson三种实现,可随心选择三种实现之一:

// json与 object极速互转
public void action() {
  Account account = Json.getJson().parse(jsonStr);
  jsonStr = Json.getJson().toJson(account);
}

// 切换Json实现
public void configConstant(Constants me) {
 me.setJsonFactory(new JacksonFactory());
}

也可通过扩展抽象自由切换心爱的json工具,只需如下两步:

// 自定义 Json实现
public class MyJson extends Json {
  public String toJson(Object) {
    ...
  }
  public <T> T parse(String json, Class<?> type) {
    ...
  }
}

// 切换成自定义Json实现
public void configConstant(Constants me) {
 me.setJsonFactory(new IJsonFactory() {
   public Json getJson() {
     return MyJson();
 });
}

五、极速化的纯API服务支持

增强getModel(),可通过getModel(modelClass, ""),使客户端免去输入modelName前缀,方便纯API服务端项目的开发,方便支持纯json手机服务端应用。

添加 getBean()方法支持传统JavaBean的获取,尤其适用于合体后的Model独立工作于无数据源连接的应用。

添加 IXmlRenderFactory,方便支持XML服务端应用,默认使用Freemarker实现XmlRender。

六、极速化数据库批量操作支持,极速化pagnate增强

添加 Db.batchSave(List<Model>) Db.batchUpdate(List<Model>) 避免拼写繁杂的 insert into及 update 类 sql,极速批量保存更新model。添加 Db.batchUpdate()  Db.batchSave(),妈妈再也不担心俺不会写sql批量插入和更新了:

public class Happy {
  public void justDoIt(List<Account> accountList) {
    Db.batchSave(accountList);
    Db.batchUpdate(accountList);
  }
}

老版本中的sqlSelect与sqlExceptSelect两个参合体为一个整体的sql参数,并兼容老版本分而参数,更省心的 sql,
支持 group by 嵌套,以及group by 分页仅有一条记录的情况。

public void justForFun() {
  Db.paginate(1, 10, "select * from happy where x>?", x);
}

七、极速化AOP增强

添加类级的@Clear注解,便捷删除global、inject 级拦截器。拦截器管理模块全面增强,重构合并控制层与业务层拦截器管理逻辑,对除 Mothod级的拦截器栈全部提供缓存支持,让 AOP 更加极速,代码量更小。

ONE MORE THING:值此SSH用户全面转投JFinal之际,特推出JFinal最佳实践之JFinal CMS项目,实现更大粒度的极速开发,狂扫下方二维码,JFinal官方公众号粉丝再增加5000立即放出源码:



历史版本 :
JFinal 3.3 发布,天下武功,唯快不破
Jboot 1.0-beta7 发布,基于 JFinal 的微服务框架
JFinal 3.2 发布,星星之火已成燎原之势
JFinal 3.1 发布,没有繁琐、没有复杂,只有妙不可言
JFinal 3.0 发布,重新定义模板引擎
jfinal cms v4.1.5 发布,祝大家新年快乐
jfinal cms v4.1.2 发布,加入博客模板
JFinal 2.2 发布,用 JFinal 开发,就这么定了!
Jflyfox 2.8 更新发布,jfinal+beetl 博客
Jflyfox 2.7 更新发布,jfinal+beetl博客
JFinal 2.1 最终版发布,用JFinal开发,就这么定了!
JFinal 2.1 发布,用 JFinal 开发,就这么定了!
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务