JFinal 是基于 Java 语言的极速 WEB + ORM + AOP + Template Engine 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率!为您节约更多时间,去陪恋人、家人和朋友 :)
JFinal有如下主要特点:
MVC 架构,设计精巧,使用简单
遵循 COC 原则,支持零配置,无 XML
独创 Db + Record 模式,灵活便利
ActiveRecord 支持,使数据库开发极致快速
极简、高性能 Template Engine,十分钟内掌握基本用法
自动加载修改后的 Java 文件,开发过程中无需重启服务
AOP 支持,拦截器配置灵活,功能强大
Plugin 体系结构,扩展性强
多视图支持,支持 Enjoy、FreeMarker、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