JeecgBoot开源项目完整指南:从入门到实战

JeecgBoot开源项目完整指南:从入门到实战

一、项目简介

1.1 什么是JeecgBoot?

JeecgBoot是一款基于代码生成器的企业级低代码开发平台,采用前后端分离架构。它通过自动化代码生成大幅提升开发效率,同时保留手写代码的灵活性。

核心特性:

  • 低代码开发:通过可视化界面快速生成CRUD代码
  • 代码生成器:自动生成Controller、Service、Mapper、Vue页面
  • 微服务支持:支持单体和微服务两种架构
  • 权限管理:完善的RBAC权限体系
  • 在线开发:支持Online表单、Online报表等在线开发功能

1.2 技术栈

后端技术:

  • Spring Boot 2.x / 3.x
  • MyBatis-Plus
  • Redis
  • MySQL / PostgreSQL
  • 前端技术:

  • Vue3 + Vite
  • Ant Design Vue
  • Pinia 状态管理

1.3 版本说明

版本 Spring Boot Java 状态
JeecgBoot 3.x 3.x 17+ 最新版
JeecgBoot 2.x 2.x 8+ 稳定版

二、环境要求

2.1 软件要求


# Java环境 (以Java 17为例)
java -version

# Maven环境
mvn -version

# Node.js环境 (Node 18+)
node -v
npm -v

# MySQL数据库 (5.7+ 或 8.0+)
mysql -V

# Redis数据库
redis-cli -v

三、快速开始

3.1 后端部署


# 1. 克隆项目
git clone https://github.com/jeecgboot/jeecg-boot.git
cd jeecg-boot

# 2. 导入数据库
mysql -u root -p
CREATE DATABASE jeecgboot DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
mysql -u root -p jeecgboot < db/jeecgboot-mysql-3.x.sql

# 3. 修改数据库配置
# 编辑 application-dev.yml
vim jeecg-boot-base/jeecg-boot-base-system/src/main/resources/application-dev.yml

# 4. 修改Redis配置
# 同上文件配置Redis密码

# 5. 安装依赖
mvn clean install -DskipTests

# 6. 启动项目
mvn spring-boot:run -f pom.xml

# 7. 验证启动
# 访问:http://localhost:8080/jeecg-boot/doc.html
# 默认账号:admin / 123456

3.2 前端部署


# 1. 进入前端目录
cd jeecg-boot-ant

# 2. 安装依赖
npm install

# 3. 修改API配置
# 编辑 .env.development
VITE_API_BASE_URL=http://localhost:8080/jeecg-boot

# 4. 启动开发服务
npm run dev

# 5. 构建生产版本
npm run build

四、代码生成器使用

4.1 在线代码生成

1. 登录系统 → 系统管理 → 代码生成配置 2. 配置代码生成信息 3. 配置字段信息 4. 预览和生成代码

4.2 导入代码


# 后端代码:复制到项目对应目录
cp -r jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/*   jeecg-boot-module-system/src/main/java/org/jeecg/modules/

# 前端代码:复制到前端项目
cp -r jeecgboot/src/views/demo/*   jeecg-boot-ant/src/views/

五、核心功能演示

5.1 用户管理示例


// Service接口
public interface ISysUserService extends IService {
    List queryUserList();
    IPage queryPageList(Page page, SysUser sysUser);
}

// Controller
@RestController
@RequestMapping("/sys/user")
@Api(tags="用户管理")
public class SysUserController {
    @Autowired
    private ISysUserService sysUserService;

    @GetMapping("/list")
    public Result> queryPageList(
            @RequestParam Integer pageNum,
            @RequestParam Integer pageSize,
            SysUser sysUser) {
        Page page = new Page<>(pageNum, pageSize);
        IPage pageList = sysUserService.page(page,
            new QueryWrapper().like("username", sysUser.getUsername()));
        return Result.OK(pageList);
    }
}

5.2 Online表单

1. 创建表单:在线设计表单,无需写代码 2. 配置字段:文本输入、下拉选择、日期时间等 3. 配置流程:支持流程表单 4. 生成功能:一键生成CRUD页面

六、常见问题解决

6.1 启动报错

数据库连接失败


# 检查数据库配置
vim jeecg-boot-base/jeecg-boot-base-system/src/main/resources/application-dev.yml

Redis连接失败


# 检查Redis配置
redis-cli ping

端口被占用


# 查看占用端口的进程
netstat -tlnp | grep 8080
kill -9 

6.2 前端问题

npm install 失败


# 清理缓存
rm -rf node_modules package-lock.json

# 使用淘宝镜像
npm config set registry https://registry.npmmirror.com
npm install

跨域问题


@Configuration
public class CorsConfig {
    @Bean
    public CorsFilter corsFilter() {
        CorsConfiguration config = new CorsConfiguration();
        config.addAllowedOriginPattern("*");
        config.setAllowCredentials(true);
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", config);
        return new CorsFilter(source);
    }
}

七、性能优化

7.1 后端优化


spring:
  datasource:
    hikari:
      maximum-pool-size: 20
      minimum-idle: 5
      idle-timeout: 30000

  cache:
    type: redis
    redis:
      time-to-live: 3600000

7.2 前端优化


// vite.config.ts
export default defineConfig({
  build: {
    rollupOptions: {
      output: {
        manualChunks: {
          'element-plus': ['element-plus'],
          'vue': ['vue', 'vue-router', 'pinia']
        }
      }
    }
  }
})

八、部署生产环境

8.1 Nginx配置


upstream jeecg-boot {
    server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=30s;
}

server {
    listen 80;
    server_name jeecgboot.yourdomain.com;

    location / {
        root /var/www/jeecg-boot/dist;
        index index.html;
        try_files $uri $uri/ /index.html;
    }

    location /jeecg-boot/ {
        proxy_pass http://jeecg-boot;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    client_max_body_size 100m;
}

九、总结

本文介绍了JeecgBoot开源项目的完整开发流程:

核心要点:

学习路径:

相关资源:

  • 官方文档:http://jeecg-boot.mydoc.io/
  • GitHub:https://github.com/jeecgboot/jeecg-boot
  • 在线演示:http://jeecgboot.mydoc.io/
  • 常见问题FAQ:

    Q: 可以商业使用吗? A: 可以,采用Apache 2.0开源协议

发表回复

后才能评论