Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
@jfinal
jfinal
Follow
View jfinal's full-sized avatar

James Zhan jfinal

Block or report jfinal

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more aboutblocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more aboutreporting abuse.

Report abuse
jfinal/README.md

中文English

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

JFinal有如下主要特点

  • MVC 架构,设计精巧,使用简单
  • 遵循 COC 原则,支持零配置,无 XML
  • 独创 Db + Record 模式,灵活便利
  • ActiveRecord 支持,使数据库开发极致快速
  • 极简、强大、高性能模板引擎 Enjoy,十分钟内掌握 90% 用法
  • 自动加载修改后的 Java 文件,开发过程中无需重启服务
  • AOP支持,拦截器配置灵活,功能强大
  • Plugin 体系结构,扩展性强
  • 多视图支持,支持 Enjoy、FreeMarker、JSP
  • 强大的 Validator 后端校验功能
  • 功能齐全,拥有传统 SSH 框架的绝大部分核心功能
  • 体积小仅 832 KB,并且无第三方依赖

JFinal 极速开发微信公众号欢迎你的加入: JFinal

Maven 坐标

<dependency>    <groupId>com.jfinal</groupId>    <artifactId>jfinal</artifactId>    <version>5.2.7</version></dependency>

以下是JFinal实现Blog管理的示例:

1. 控制器(支持 Enjoy、JSP、JSON等等以及自定义视图渲染)

@Before(BlogInterceptor.class)publicclassBlogControllerextendsController {@InjectBlogServiceservice;publicvoidindex() {set("blogPage",service.paginate(getInt(0,1),10));render("blog.html");    }publicvoidadd() {    }@Before(BlogValidator.class)publicvoidsave() {getModel(Blog.class).save();redirect("/blog");    }publicvoidedit() {set("blog",service.findById(getInt()));    }@Before(BlogValidator.class)publicvoidupdate() {getModel(Blog.class).update();redirect("/blog");    }publicvoiddelete() {service.deleteById(getInt());redirect("/blog");    }}

2.Service所有业务与sql全部放在Service层

publicclassBlogService {privateBlogdao =newBlog().dao();publicPage<Blog>paginate(intpageNumber,intpageSize) {returndao.paginate(pageNumber,pageSize,"select *","from blog order by id asc");    }publicBlogfindById(intid) {returndao.findById(id);    }publicvoiddeleteById(intid) {dao.deleteById(id);    }}

3.Model(无xml、无annotaion、无attribute)

publicclassBlogextendsModel<Blog> {    }

4.Validator(API引导式校验,比xml校验方便N倍,有代码检查不易出错)

publicclassBlogValidatorextendsValidator {protectedvoidvalidate(Controllercontroller) {validateRequiredString("blog.title","titleMsg","请输入Blog标题!");validateRequiredString("blog.content","contentMsg","请输入Blog内容!");    }protectedvoidhandleError(Controllercontroller) {controller.keepModel(Blog.class);    }}

5.拦截器(在此demo中仅为示例,本demo不需要此拦截器)

publicclassBlogInterceptorimplementsInterceptor {publicvoidintercept(Invocationinv) {System.out.println("Before invoking " +inv.getActionKey());inv.invoke();System.out.println("After invoking " +inv.getActionKey());    }}

更多支持

  • JFinal 官方网站https://jfinal.com
  • 扫码关注官方微信公众号,第一时间尊享最新动向

JFinal

PinnedLoading

  1. jfinaljfinalPublic

    JAVA WEB + ORM Framework

    Java 3.3k 1.3k

  2. jetty-serverjetty-serverPublic

    jetty-server-8.1.8.jar 中包含jetty-8.1.8发行版"/lib"目录下所有jetty模块jar包

    1 3

  3. HikariCPHikariCPPublic

    Forked frombrettwooldridge/HikariCP

    光 HikariCP・A solid high-performance JDBC connection pool at last.

    Java 1

  4. jquery-pjaxjquery-pjaxPublic

    Forked fromdefunkt/jquery-pjax

    pushState + ajax = pjax

    JavaScript

  5. p3cp3cPublic

    Forked fromalibaba/p3c

    Alibaba Java Coding Guidelines pmd implements and IDE plugin

    Kotlin 1

  6. coscosPublic

    cos-26Dec2008

    Java 9 9


[8]ページ先頭

©2009-2025 Movatter.jp