当前位置: 首页 > 软件库 > Web应用开发 > Web框架 >

JFinal

JAVA 极速WEB+ORM框架
授权协议 Apache
开发语言 Java
所属分类 Web应用开发、 Web框架
软件类型 开源软件
地区 国产
投 递 者 郭阳泽
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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

JFinal有如下主要特点:

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

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

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

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

  • 极简、高性能 Template Engine,十分钟内掌握基本用法

  • 自动加载修改后的 Java 文件,开发过程中无需重启服务

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

  • Plugin 体系结构,扩展性强

  • 多视图支持,支持 EnjoyFreeMarker、JSP

  • 强大的 Validator 后端校验功能

  • 功能齐全,拥有传统 SSH 框架绝大部分核心功能

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

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

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

      @Path("/blog")
      @Before(BlogInterceptor.class)
      public class BlogController extends Controller {
          
          @Inject
          BlogService service;
      
          public void index() {
              set("blogPage", service.paginate(getInt(0, 1), 10));
          }
      
          public void add() {
          }
      	
          @Before(BlogValidator.class)
          public void save() {
              getModel(Blog.class).save();
          }
      	
          public void edit() {
              set("blog", service.findById(getInt()));
          }
      	
          @Before(BlogValidator.class)
          public void update() {
              getModel(Blog.class).update();
          }
      	
          public void delete() {
              service.deleteById(getInt());
          }
      }

      2:BlogService所有业务与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 内置的生成器为 Blog 生成 BaseBlog,在拥有动态性好处的同时,再拥有 setter、getter 方法。生成器的实例代码可以下载 jfinal 官网的 jfinal_demo_for_maven.zip 获取。

      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官方微信欢迎您的加入:  

      • JFinal 公司的就项目使用的是JFinal框架,那么为了读懂并维护公司的项目,则需要对此框架进行学习、了解。 JFinal项目开源代码地址:https://gitee.com/jfinal/jfinal/tree/master JFinal官网地址:https://jfinal.com/project/1 一个基于 Java 语言的极速 WEB + ORM + AOP + Template E

      • jfinal框架怎么样 轻量级,支持快速开发,我现在手上的一个项目就是用的jfinal,直接用sql语句操作数据库,个人感觉还可以。如果是要和jfinalconfig启动的话,反射调用jfianl的config类,这个类不是public,只能反射 jfinal是前端框架还是后端框架 哪方面的框架?js框架就jQuery、zepto等等吧,mv*的就angular、backbone等等吧,css就j

      • JFinal 简介 基于JFinal的web项目需要创建一个继承自JFinalConfig类的子类,该类对整个web项目进行配置。 JFinalConfig子类需要事项六个抽象方法 1.configConstant(…) 此方法用来配置JFinal常量值 如开发模式常量devMode配置,会输出本次请求的URL、Controller、Method以及请求所携带的参数 2.configRoute(…

      • jfinal是基于Java语言的web+orm框架,具有许多优点。手册下载地址:http://www.jfinal.com/man web.xml: <!-- jfinal-filter -->   <filter>       <filter-name>jfinal_filter</filter-name>       <filter-class>com.jfinal.core.JFinalFi

      • 看见Jfinal很火,就手痒痒了,想学一下,无奈入门较慢,没有找到比较全的文档。于是就经常看讨论区大家的提问与解答。后来就忽然萌生了整理下来的想法。其中的问题如果是 Jfinal 回答的,那我就标注了【jfinal答】。    刚刚整理,先发了,一会儿处理格式。   1.【问】:Jfina如何不区分数据库列名的大小写? 我这儿随时出现 The attribute name is not exist

      • Config Config 配置。 constant 常量。 public Routes add(String controllerKey, Class<? extends Controller> controllerClass, String viewPath):    第一个参数controllerKey是指访问某个Controller所需要的一个字符串,该字符串唯一对应一个Controlle

      • JFinal 是基于Java 语言的极速 WEB + ORM 开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python等动态语言的开发效率!为您节约更多时间,去陪恋人、家人和朋友 ;) JFinal主要特点: MVC架构,设计精巧,使用简单 遵循COC原则,零配置,无xml ActiveRecor

      • jfinal是基于java语言的web+orm框架,具有许多优点。手册下载地址:http://www.jfinal.com/man maven坐标: <dependency> <groupId>com.jfinal</groupId> <artifactId>jfinal</artifactId> <version>1.5</version> </dependency>web.xml: <!

      • 接触了一段时间的jfinal,这个框架确实如介绍的那样: JFinal主要特点: MVC架构,设计精巧,使用简单 遵循COC原则,零配置,无xml ActiveRecord支持,使数据库开发极致快速 自动加载修改后的java文件,开发过程中无需重启web server AOP支持,拦截器配置灵活,功能强大 Plugin体系结构,扩展性强 多视图支持,支持FreeMarker、JSP、Velocit

      • JFinal 框架入门 (本文均来自JFinal官方文档, 需要学习的同学请移步官方文档) 一.JFinal 是用来干什么的? JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率! 二.JFinal有什么

      • render系列的方法将渲染不同类型的视图并返回给客户端,jfinal目前支持的视图类型有:freemarker,jsp, velocity ,json,file,text,html等等,此外还可以继承render抽象类来无限扩展视图类型。 使用render( String )方法来渲染视图,是请求转发方式渲染视图的, 当执行完一个action后,想重定向到另一个action时,使用 redire

      • jfinal-utils jfinal utils,查看其他插件-> Maven maven 引用 ${jfinal-utils.version}替换为相应的版本如:0.2 <dependency> <groupId>cn.dreampie</groupId> <artifactId>jfinal-utils</artifactId> <version>${jfinal-utils.vers

      • Jfinal学习(一) 一次偶然机会让我搜索到Jfinal,这是我学习的第一个Java框架 第一个? 可能会觉得奇怪,没办法我的学习路线和大部分人不一样   Jfinal官方是这么说的: JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、pyt

      • jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目。独创 HotSwapClassLoader + HotSwapWatcher 以 321 行代码极简实现热加载开发与部署,前无古人,后必有模仿者 一、 极速上手 1: 添加 maven 依赖 <dependency> <groupId>com.jfinal</groupId> <artifactId>jfin

      • 看见Jfinal很火,就手痒痒了,想学一下,无奈入门较慢,没有找到比较全的文档。于是就经常看讨论区大家的提问与解答。后来就忽然萌生了整理下来的想法。其中的问题如果是 Jfinal 回答的,那我就标注了【jfinal答】。    刚刚整理,先发了,一会儿处理格式。   1.【问】:Jfina如何不区分数据库列名的大小写? 我这儿随时出现 The attribute name is not exist

      • 自学JFinal总结 前言:每次搭建ssm框架时,就像搬家一样,非常繁杂,并且还容易出错。正好了解到JFinal极简,无需配置即可使用,在这里记录下学习的过程。 感谢:非常感谢此网站发布的教程,非常详细,有兴趣的可以多看看,手把手教程了。。。。。https://www.jfinal.com/doc/1-3 开始正文吧! 一、搭建JFinal项目:   1.创建一个maven工程,选择An arch

       相关资料
      • JFinal 是基于 Java 语言的极速 WEB + ORM + AOP + Template Engine 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。

      • 从戏剧!框架文档: Play2.0中没有内置的JPA实现;您可以选择任何可用的实现。例如,要使用Hibernate,只需将依赖项添加到项目中: 我的选择是什么而不是冬眠? 你认为什么最适合留言板网站? 我知道Hibernate有一点开销,对吗?

      • 1. 逻辑流程 注(1): 此处逻辑为可选逻辑,详情参见 【小程序深度对接->上报用户信息】 2. 集成步骤 2.1 添加发起会话按钮 <button open-type="contact" />咨询客服</button> 2.2 小能客户端配置小程序 登录小能客户端,设置->接入设置->第三方接入->小程序 ->点击按钮接入微信小程序 -> 选择极速模式 填写小程序信息 复制小能服务器信息,需

      • 本文向大家介绍JFinal极速开发框架使用笔记分享,包括了JFinal极速开发框架使用笔记分享的使用技巧和注意事项,需要的朋友参考一下 记录第一次使用JFinal,从简单的框架搭建到增删改查,从自带的方法到正常框架习惯的使用方式。 JFinal官网:http://www.jfinal.com/ JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少

      • 一、jfinal 3.0 之前版本的升级 jfinal 3.0 是大版本升级,此前版本升到 jfinal 3.0 请移步 14.2、14.3、14.4、14.5 小节,这几个小节中的内容极少,升级很方便。 二、jfinal 3.0 之后版本的升级 1、升级到 3.1 无需修改,平滑升级 2、升级到 3.2 IStringSource 更名为 ISource 按照 14.2 小节 升级 Ret 3、

      • 极速连连看是一个具备很多特色的小益智游戏,除了常见的连连看功能之外,还有以下特色: 1.共有 普通模式、挑战模式、联系模式三种模式 2.每一关图案摆放造型都不同,类似QQ游戏那种,但背景音乐各不相同 3.独创“上帝之手”解决死局问题 4.英雄榜记录 5.丰富的背景音乐等

      • 本文向大家介绍什么是 ORM 框架?相关面试题,主要包含被问及什么是 ORM 框架?时的应答技巧和注意事项,需要的朋友参考一下 ORM(Object Relation Mapping)对象关系映射,是把数据库中的关系数据映射成为程序中的对象。 使用 ORM 的优点:提高了开发效率降低了开发成本、开发更简单更对象化、可移植更强。

      • 1. 修改公众平台服务器设置 1)登录微信公众平台:https://mp.weixin.qq.com/ 2)点击“开发”模块下的“基本配置”选项 3)点击“修改配置”,填写以下信息: URL(服务器地址):https://thirdparty.ntalker.com/wechat Token:ntalker_123456 EncodingAESKey:abcdefghijklmnopqrstu