JFinal 了解

JFinal 了解JFinal 的项目搭建及介绍 jfinal

大家好,欢迎来到IT知识分享网。

JFinal 简介

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

JFinal框架是基于Java语言的开源Web框架,由中国著名的Java开发者陈梁发起并持续开发维护。它借鉴了Struts、Hibernate等框架的优点,采用了极简的API设计,使得开发者能够更加便捷地进行Web应用的开发工作。JFinal框架在国内外都有着广泛的应用,尤其在企业级应用和中小型项目中备受青睐。

特点

对比

JFinal ORM和Hibernate简要对比

JFinal采用ActiveRecord实现数据库操作支持,较Hibernate开发效率提升六到十倍。

JFinal ActiveRecord较Hibernate学习成本低,一小时内能上手开发。

JFinal零配置,对数据库支持五个无特点:无xml、无annotation、无getter、无setter、无attribute,极大降低了代码量,统计证实代码量节省70%到95%。

JFinal数据库操作完全采用原生sql,相对Hibernate采用的HQL学习成本低,功能更强大,性能更高,稳定性好。

JFinal 和SpringBoot简要对比

主要区别在于它们的设计理念、功能集成方式和目标用户群体。

设计理念、功能集成方式:

目标用户群体:

JFinal创建项目

Maven项目

JFinal 了解

JFinal 了解

创建 Maven 项目时选择 “Create a simple project” 和不选有所不同。选择 “Create a simple project” 时,Maven 会创建一个没有任何特定构建配置的简单项目,通常用于快速开始一个没有复杂依赖和配置的项目。不选的话,Maven 会创建一个标准的 Maven 项目,包含标准的项目结构和 pom.xml 文件,你可以根据需要添加更多配置和依赖。

JFinal 了解

JFinal 了解

JFinal 了解

JFinal 了解

 <dependency> <groupId>com.jfinal</groupId> <artifactId>jfinal-undertow</artifactId> <version>1.9</version> </dependency> <dependency> <groupId>com.jfinal</groupId> <artifactId>jfinal</artifactId> <version>5.1.0</version> </dependency>

JFinal 了解

public class Config extends JFinalConfig { @Override public void configConstant(Constants me) { //是否开启开发模式 me.setDevMode(true); } @Override public void configRoute(Routes me) { // 路由扫描,jfinal 4.9.03 新增功能。参数 "com.xxx." 表示扫描被限定的包名 // 扫描仅会在该包以及该包的子包下进行 me.scan("com.w.contrller"); } @Override public void configEngine(Engine me) { } @Override public void configPlugin(Plugins me) { } @Override public void configInterceptor(Interceptors me) { } @Override public void configHandler(Handlers me) { } }

新建Config文件需要继承JFinalConfig 并重写方法 

configConstant(Constants me): 配置常量

configRoute(Routes me): 配置路由

configEngine(Engine me): 配置模板引擎

configPlugin(Plugins me): 配置插件

configInterceptor(Interceptors me): 配置拦截器

configHandler(Handlers me): 配置 Handler

新建com.w.controller再创建demoController01继承Controller

@Path("/test") public class demoController01 extends Controller { //控制器的默认访问方法,相当于Struts的execute public void index(){ renderText("test"); } //普通方法 public void test01(){ renderText("test01"); } //单独访问方法 @ActionKey("/test001") public void test001(){ renderText("test001"); } }

JFinal 了解

访问localhost/test 默认调用index()方法,localhost/test/test01 调用test01()方法,

localhost/test001 调用test001()方法

新建com.w.run下创建Run类里面创建demoRun方法:

public class demoRun { public static void main(String[] args) { //加载的类 端口号 是否支持热加载 UndertowServer.start(Config.class,80,true); } }

JFinal 了解运行程序 demoRun页面 Run As Java Application

传统非Maven项目

JFinal 了解

JFinal 了解

JFinal 了解

1.1 创建项目

此处的 Default out folder 必须要与 WebRoot\WEB-INF\classes 目录完全一致才可 以使用 JFinal 集成的 Jetty 来启动项目。

JFinal 了解

1.2 放入jar包

 将 jfinal-xxx.jar  与jetty-server-8.1.8.jar 拷贝至项目 WEB-INF\lib  下

JFinal 了解

1.3 修改web.xml

添加内容到 web.xml

 <filter> <filter-name>jfinal</filter-name> <filter-class>com.jfinal.core.JFinalFilter</filter-class> <init-param> <param-name>configClass</param-name> <param-value>demo.DemoConfig</param-value> </init-param> </filter> <filter-mapping> <filter-name>jfinal</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>

1.4 创建配置文件及控制器

JFinal 了解

在项目 src 目录下创建 demo 包,并在 demo 包下创建 DemoConfig 文件

DemoConfig.java 文件所在的包以及自身文件名必须与 web.xml 中的 param-value 标 签内的配置相一致(在本例中该配置为 demo.DemoConfig)。

public class DemoConfig extends JFinalConfig { public void configConstant(Constants me) { me.setDevMode(true); } public void configRoute(Routes me) { me.add("/hello", HelloController.class); } public void configPlugin(Plugins me) {} public void configInterceptor(Interceptors me) {} public void configHandler(Handlers me) {} }

在 demo 包下创建 HelloController 类文件

public class HelloController extends Controller { public void index() { renderText("Hello JFinal World."); }

1.5 启动项目

JFinal 了解

JFinal 了解

在 Main class 输入框中填入com.jfinal.core.JFinal 并点击 Debug 按钮启动项目

浏览器输入 localhost/hello,输出内容为 Hello JFinal World 即启动成功

JFinal 了解

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/137403.html

(0)
上一篇 2025-06-20 19:20
下一篇 2025-06-20 19:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信