JFinal 极速开发框架 您所在的位置:网站首页 jfinal下载 JFinal 极速开发框架

JFinal 极速开发框架

2023-05-21 11:05| 来源: 网络整理| 查看: 265

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

JFinal有如下主要特点:

MVC架构,设计精巧,使用简单

遵循COC原则,支持零配置,无xml

独创Db + Record模式,灵活便利

ActiveRecord支持,使数据库开发极致快速

自动加载修改后的java文件,开发过程中无需重启 web server

AOP支持,拦截器配置灵活,功能强大

Plugin体系结构,扩展性强

多视图支持,支持 Enjoy、FreeMarker、JSP

强大的Validator后端校验功能

功能齐全,拥有struts2的绝大部分功能

体积小仅 723 KB,且无第三方依赖

以下是JFinal实现Blog管理的示例:1:控制器(支持 Enjoy、FreeMarker、JSP、JSON等以及自定义视图渲染)@Before(BlogInterceptor.class) public class BlogController extends Controller {     @Inject     BlogService service;     public void index() {         set("blogPage", service.paginate(getParaToInt(0, 1), 10));         render("blog.html");     }     public void add() {     }     @Before(BlogValidator.class)     public void save() {         getModel(Blog.class).save();         redirect("/blog");     }     public void edit() {         set("blog", service.findById(getParaToInt()));     }     @Before(BlogValidator.class)     public void update() {         getModel(Blog.class).update();         redirect("/blog");     }     public void delete() {         service.deleteById(getParaToInt());         redirect("/blog");     } }2:Service(所有业务与sql放在Service层)public class BlogService {     private Blog dao = new Blog().dao();          public Page paginate(int pageNumber, int pageSize) {         return dao.paginate(pageNumber, pageSize, "select *", "from blog order by id asc");     }          public Blog findById(int id) {         return dao.findById(id);     }          public void deleteById(int id) {         dao.deleteById(id);     } }3:Model(无xml、无annotation、无attribute)public class Blog extends Model {      }

    注意:实际应用中建议使用 jfinal 提供的生成器生成 base model,从而让 Blog 同时拥有 getter、setter 方法。生成器请下载首页的 jfinal_demo_for_maven

4:Validator(API引导式校验,比xml校验方便N倍,有代码检查不易出错)public class BlogValidator extends Validator {   protected void validate(Controller controller) {     validateRequiredString("blog.title", "titleMsg", "请输入Blog标题!");     validateRequiredString("blog.content", "contentMsg", "请输入Blog内容!");   }   protected void handleError(Controller controller) {     controller.keepModel(Blog.class);   } }5:拦截器(在此demo中仅为示例,本demo不需要此拦截器)public class BlogInterceptor implements Interceptor {   public void intercept(Invocation inv) {     System.out.println("Before invoking " + inv.getActionKey());     inv.invoke();     System.out.println("After invoking " + inv.getActionKey());   } }5:最新文档与最新下载

JFinal 5.0.0 手册(在线版)

JFinal 5.0.0 demo for maven

项目:JFinal


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有