JFinal 项目脚手架生成器,快速创建Java Web应用

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 配置

功能特性

邮箱验证码登录

生成的项目默认使用邮箱验证码登录方式:

  1. 用户输入邮箱,先通过图形验证码验证

  2. 发送验证码到邮箱

  3. 用户输入邮箱验证码完成登录

  4. 新用户自动创建账户

开放接口 (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

启动后访问:

技术栈

  • JFinal 5.2.7 - Web 框架

  • Undertow 3.8 - 嵌入式服务器

  • FastJSON2 - JSON 处理

  • Druid - 数据库连接池

  • MySQL - 数据库

  • java-jwt - JWT 认证

  • EHCache - 缓存

  • Swagger - API 文档

  • Jakarta Mail - 邮件服务


评论区

北流家园网

2026-01-07 11:28

好样的,学习

JFinal

2026-01-07 15:48

人工智能是能力倍增器,能做好多烦琐的事

热门分享

扫码入社