JFinal CLI
JFinal 项目脚手架生成器,快速创建基于 JFinal 框架的 Java Web 应用。
发布地址:https://www.npmjs.com/package/create-jfinal-app
安装
# 全局安装 npm i -g create-jfinal-app
使用方法
交互式创建
create-jfinal-app my-project # 或使用简写 create-jfapp my-project cjf my-project
使用默认值快速创建
create-jfinal-app my-project --yes
生成所有功能模块
# 启用所有功能(JWT、Swagger、缓存、邮件、OSS) create-jfinal-app my-project --all --yes # 简写 cjf my-project -a -y
带参数创建
create-jfinal-app my-project \ --package com.mycompany.app \ --port 9000 \ --db-host 127.0.0.1 \ --db-port 3306 \ --db-name mydb \ --db-user root \ --db-password secret
命令行参数
| 参数 | 说明 | 默认值 |
|---|---|---|
-p, --package | 基础包名 | com.example |
--port | 服务端口 | 8080 |
--db-host | 数据库地址 | localhost |
--db-port | 数据库端口 | 3306 |
--db-name | 数据库名 | 项目名 |
--db-user | 数据库用户名 | root |
--db-password | 数据库密码 | (空) |
-y, --yes | 跳过交互,使用默认值 | - |
-a, --all | 生成所有模板代码(启用全部功能) | - |
--no-jwt | 禁用 JWT 认证 | - |
--no-swagger | 禁用 Swagger 文档 | - |
--no-cache | 禁用 EHCache 缓存 | - |
可选功能
在交互式模式下,可选择启用以下功能:
JWT 认证 - 使用 java-jwt 实现 Token 认证
Swagger API 文档 - 自动生成 API 文档
EHCache 缓存 - 内存缓存支持
邮件服务 - Jakarta Mail 邮件发送
阿里云 OSS - 文件上传到阿里云
生成的项目结构
my-project/ ├── pom.xml # Maven 配置 ├── init.sql # 数据库初始化脚本 ├── start.sh / start.bat # 启动脚本 ├── src/main/java/com/example/ │ ├── MyProjectApplication.java # 入口类 │ ├── config/ │ │ ├── AppConfig.java # JFinal 配置 │ │ └── MappingKit.java # 表映射 │ ├── common/ │ │ └── Constant.java # 常量定义 │ ├── interceptor/ │ │ └── AuthInterceptor.java # 认证拦截器 │ ├── util/ │ │ ├── JwtKit.java # JWT 工具 │ │ ├── MailKit.java # 邮件工具 │ │ └── RandomKit.java # 随机数工具 │ └── modules/ │ └── account/ # 账户模块 │ ├── controller/ │ │ ├── AccountController.java # 账户API │ │ └── IndexController.java # 页面渲染 │ ├── service/ │ │ └── AccountService.java # 账户服务 │ └── model/ │ ├── UserAccount.java # 用户模型 │ └── base/ │ └── BaseUserAccount.java ├── src/main/webapp/ # Web 前端 │ ├── login.html # 登录页面 │ ├── index.html # 首页 │ ├── favicon.svg # 网站图标 │ └── js/ │ ├── jquery.min.js # jQuery │ ├── utils.js # 工具函数 │ └── login.js # 登录逻辑 └── src/main/resources/ ├── app-dev.txt # 开发环境配置 ├── app-prod.txt # 生产环境配置 ├── undertow.txt # 服务器配置 ├── ehcache.xml # 缓存配置 ├── log4j.properties # 日志配置 └── swagger.properties # Swagger 配置
功能特性
邮箱验证码登录
生成的项目默认使用邮箱验证码登录方式:
用户输入邮箱,先通过图形验证码验证
发送验证码到邮箱
用户输入邮箱验证码完成登录
新用户自动创建账户
开放接口 (AccessToken)
首页提供开放接口功能,可获取 AccessToken 用于 API 调用:
查看 AppID 和 AppSecret
生成 AccessToken
复制凭证功能
运行生成的项目
# 进入项目目录 cd my-project # 初始化数据库 mysql -u root -p < init.sql # 构建项目mvn clean package # 运行项目 IDE中直接执行启动类 mvn exec:java -Dexec.mainClass="com.example.MyProjectApplication" # 或使用启动脚本 # Linux/Mac ./start.sh # Windows start.bat
启动后访问:
Swagger API: http://localhost:8080/swagger
技术栈
JFinal 5.2.7 - Web 框架
Undertow 3.8 - 嵌入式服务器
FastJSON2 - JSON 处理
Druid - 数据库连接池
MySQL - 数据库
java-jwt - JWT 认证
EHCache - 缓存
Swagger - API 文档
Jakarta Mail - 邮件服务