当前位置: 首页 > article >正文

Jfinal 框架简单入门

JFinal

公司的就项目使用的是JFinal框架,那么为了读懂并维护公司的项目,则需要对此框架进行学习、了解。
JFinal项目开源代码地址:https://gitee.com/jfinal/jfinal/tree/master
JFinal官网地址:https://jfinal.com/project/1
一个基于 Java 语言的极速 WEB + ORM + AOP + Template Engine 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。

一、JfinalConfig核心配置文件

基于JFinal框架的web项目,需要创建一个子类,继承自JFinalConfig,作为对我们整个web项目的配置

对于 JFinalConfig 主要有以下方法需要注意,如下:

public abstract class JFinalConfig {/*** 配置全局常量*/public abstract void configConstant(Constants me);/*** 配置访问路由*/public abstract void configRoute(Routes me);/*** 配置插件*/public abstract void configPlugin(Plugins me);/*** 配置全局拦截器*/public abstract void configInterceptor(Interceptors me);/*** 配置并控制所有web请求*/public abstract void configHandler(Handlers me);/*** 在项目启动之后会调*/public void afterJFinalStart(){};/*** 在项目停止之前会调*/public void beforeJFinalStop(){};
}

二、PropKit工具类

使用这个PropKit工具类来引入外部的配置文件,可以在系统的任何地方使用。

可以同时加载多个配置文件,第一个被加载的配置文件可以使用PropKit.get()方法直接获取,非被第一个加载的配置文件需要使用PropKit.use(…).get(…)来获得。

另外PropKit.use()方法在加载配置文件内容以后会将数据缓存在内存中,用PropKit.useliss(…)将缓存内容清除

三、Controller

用于定义action,一个Controller可以定义多个 action 。Controller 的线程是安全的。

在 Controller 中提供了getPara() , getModel() 系列方法 setAttr() 方法以及 rander() 系列方法 供给 action 使用

  • getPara 系列方法

    获取request请求过来的参数

  • getBeangetModel 系列方法

    接受页面表单传递过来的 model 对象 model 对应数据库字段名 bean 对应 setter 方法一直的属性名

  • setAttr 方法

    该方法可以将各种数据传递给view并显示

  • getFile 文件上传

  • renderFile 文件下载

  • session 的操作方法

    通过setSessionAttr(key,value) 方法可以往session里存数据,getSessionAttr(key) 用于读取session中的数据。代码中通过 getSession() 方法来获取Session对象

  • render 系列方法

    渲染不同类型的视图返回给客户端 -支持的视图类型有:JFinal Templte ,Free Marker ,JSP,Volocity,JSON,File,Text,Html等等,也可通过继承Render抽象类来实现扩展视图类型。

四、AOP

分为三个概念:Interceptor、Before、Clear。

  • Interceptor

    /*** Interceptor.*/
    public interface Interceptor {void intercept(Invocation inv);
    }
    

    其可以对方法进行拦截,并提供机会在方法的前后添加切面代码,实现AOP的核心目标。

  • @Before

    用这个注解来对拦截器进行配置,对类,方法都可以进行添加拦截。当一个method有多个级别的拦截器拦截,则拦截的顺序是:Global、Inject、Class、Method,如果是同级别的拦截器,就按配置顺序执行拦截。

  • @Clear

    用于清除自身所处层次以上以上层的拦截器。

    Clear用法记忆技巧
    共有Global、Inject、Class、Method四层拦截器
    清除只针对Clear本身所处层的向上所有层,本层与下层的不清除
    不带参数时清除所有拦截器,单参数时清除指定拦截器
    

参考地址:https://wenku.baidu.com/view/99b75d36cf7931b765ce0508763231126edb77a4.html

http://www.lryc.cn/news/2417817.html

相关文章:

  • ftp客户端使用详细说明【linux和windows】
  • STM32F103C8t6驱动MPU6050+HMC5883L+BMP280进行三轴姿态解算
  • JS 中 String 的字符串截取 substr 和 substring 区别的快速记忆方法
  • Ubuntu——apt-get问题
  • 电子工程师必备网址
  • VNC Server远程桌面配置详解
  • 探秘Magnetissimo:自托管的磁力链接搜索引擎
  • react-native基本介绍
  • Attributes(特性)与 Properties(属性)的区别
  • 架构设计(1)-谈谈架构
  • 12 个超好用的免费在线工具建议收藏!(非常详细)从零基础入门到精通,看完这一篇就够了
  • HTTP部分详细讲解以及代码实现(二)
  • epoll原理详解及epoll反应堆模型
  • NLP深入学习——分词(Segmentation )
  • 算法 001. 辗转相除法(欧几里得算法)求最大公约数
  • 视图的基本操作
  • Linux ps命令详解
  • 关于.NET、ASP.NET和ASP
  • Gson的用法详解_Gson如何进行进行序列化和反序列化
  • python的符号lt和gt怎么输入_lt;lt;Python基础教程gt;gt;学习笔记 | 第04章 | 字典...
  • 科普:SMP系统是什么
  • RISC-V CPU+GPU+AI,Imagination创新解决方案带来了哪些惊喜?
  • WebShell
  • SpringSecurity(安全)基础
  • Oracle数据库CDB与PDB
  • ubuntu搜狗输入法
  • 日期操作类(DateFormat与SimpleDateFormat)的区别和使用详解
  • Java中Map详解
  • SQL中的like语句用法
  • 仓库管理WMS软件(Warehouse Management Software)百科解析