不想用Spring全家桶?试试这个国产JFinal框架

  逃离北上广从广州回老家南宁,入职这家公司用的技术是JFinal,借此机会得以学习这个国产的MVC框架,经过一段时间的学习,基于之前的经验搭建一个通用项目jfinal-demo

  jfinal-demo是基于JFinal封装的一个简单通用项目,一套通用代码,实现增删改查分页等基础功能,单表模块通过继承通用模块实现该基础功能,通过代码生成器可快速生成全套单表代码。

  技术栈:JFinal + MySql

  JFinal介绍

  JFinal已连续多次获得GVP Gitee最有价值开源项目,gitee地址:https://gitee.com/jfinal/jfinal

  JFinal官方文档:https://jfinal.com/doc

  JFinal官方简介:

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

  JFinal有如下主要特点:
  MVC架构,设计精巧,使用简单
  遵循COC原则,支持零配置,无xml
  独创Db + Record模式,灵活便利
  ActiveRecord支持,使数据库开发极致快速
  自动加载修改后的java文件,开发过程中无需重启web server
  AOP支持,拦截器配置灵活,功能强大
  Plugin体系结构,扩展性强
  多视图支持,支持FreeMarker、JSP、Velocity
  强大的Validator后端校验功能
  功能齐全,拥有struts2的绝大部分功能
  体积小仅 723 KB,且无第三方依赖

  代码编写

  项目结构

不想用Spring全家桶?试试这个国产JFinal框架

不想用Spring全家桶?试试这个国产JFinal框架

  jfinal.bat、jfinal.sh是启动脚本

  通用代码包括统一返回对象Result,分页条件PageCondition,控制层CommonController,业务层CommonService/Impl

不想用Spring全家桶?试试这个国产JFinal框架

  数据库表与实体类的关系映射需要在_MappingKit中手动进行维护(其实也可以做成自动维护,只是我们的代码生成器还不支持)

/** * 数据表、主键、实体类关系映射 * 需要手动维护 */ public class _MappingKit { /** * 表、实体、主键关系集合 * 方便SqlUtil工具类拼接查询sql */ public static HashMap<String,String> tableMapping = new HashMap<>(); public static HashMap<String,String> primaryKeyMapping = new HashMap<>(); public static void mapping(ActiveRecordPlugin arp) { arp.addMapping("blog", "id", Blog.class); tableMapping.put(Blog.class.getName(),"blog"); primaryKeyMapping.put(Blog.class.getName(),"id"); arp.addMapping("user", "user_id", User.class); tableMapping.put(User.class.getName(),"user"); primaryKeyMapping.put(User.class.getName(),"user_id"); } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwpxzz.html