1. 环境准备:搭建开发环境的完整指南
第一次接触人人开源项目时,最头疼的就是环境配置。我花了整整两天时间才把所有依赖装好,期间踩了不少坑。现在把这些经验总结成保姆级教程,让你半小时内搞定所有准备工作。
首先需要下载三个核心项目:renren-fast(后端)、renren-fast-vue(前端)和renren-generator(代码生成器)。建议直接从Gitee官方仓库下载最新稳定版:
git clone https://gitee.com/renrenio/renren-fast.git git clone https://gitee.com/renrenio/renren-fast-vue.git git clone https://gitee.com/renrenio/renren-generator.git后端环境配置需要:
- JDK 1.8+(实测OpenJDK 11也兼容)
- Maven 3.6+
- MySQL 5.7+(8.0需要调整驱动配置)
- Redis 5.0+
前端环境则需要:
- Node.js 14.x(最新版可能不兼容)
- npm 6.x或yarn
安装完基础环境后,用IDEA打开renren-fast项目,找到db/mysql.sql文件执行数据库初始化。这里有个常见坑点:如果MySQL是8.0版本,需要修改application-dev.yml中的驱动类为com.mysql.cj.jdbc.Driver,并添加时区参数serverTimezone=Asia/Shanghai。
2. 数据库配置与项目启动
数据库创建完成后,需要重点修改三个配置文件:
renren-fast/src/main/resources/application-dev.yml:配置数据源和Redisrenren-fast-vue/config/dev.env.js:配置后端API地址renren-generator/src/main/resources/application.yml:配置代码生成器的数据源
启动顺序很重要,建议按这个步骤:
# 后端启动 cd renren-fast mvn clean install mvn spring-boot:run # 前端启动(另开终端) cd renren-fast-vue npm install --registry=https://registry.npm.taobao.org npm run dev启动成功后,访问http://localhost:8001,用admin/admin登录应该能看到管理后台界面。如果页面空白,大概率是前端npm包安装失败,可以删除node_modules重新安装。
3. 代码生成器实战应用
renren-generator是项目的灵魂工具,它能自动生成前后端代码。我以商品管理模块为例演示完整流程:
- 在MySQL中创建商品表:
CREATE TABLE `tb_goods` ( `goods_id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(50) COMMENT '商品名', `intro` varchar(500) COMMENT '介绍', `price` decimal(10,2) COMMENT '价格', `num` int COMMENT '数量', PRIMARY KEY (`goods_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品管理';- 修改generator的配置文件:
# 修改数据库连接 url: jdbc:mysql://127.0.0.1:3306/renren_fast?useSSL=false username: root password: 123456 # 修改包名和模块名 package: io.renren.modules moduleName: goods- 运行GeneratorApplication,访问
http://localhost,选中tb_goods表生成代码。你会得到一个zip包,解压后需要将文件分别复制到对应位置:
- Java代码放到
renren-fast/src/main/java/io/renren/modules/goods - Mapper文件放到
renren-fast/src/main/resources/mapper/goods - Vue文件放到
renren-fast-vue/src/views/modules/goods
4. 菜单配置与权限管理
代码复制完成后还需要配置菜单才能访问新功能:
- 登录后台进入"系统管理 > 菜单管理"
- 先添加目录:名称"商品管理",类型"目录",排序号自定
- 再添加菜单:名称"商品列表",类型"菜单",路由"/modules/goods/goods"
- 最后设置权限标识:
goods:goods:list,goods:goods:info
刷新页面就能在侧边栏看到新增的商品管理功能。这里有个实用技巧:如果想给菜单加图标,可以在菜单配置的"图标"字段填写Ant Design图标名称(如shopping表示购物车图标)。
5. 常见问题排查指南
在实际开发中,这几个问题最常遇到:
前端跨域问题:如果出现403错误,修改renren-fast/src/main/java/io/renren/config/CorsConfig.java,添加前端地址到allowedOrigins。
代码生成乱码:在generator的application.yml中添加:
server: servlet: encoding: charset: UTF-8 force: true页面样式错乱:检查vue文件中是否正确定义了name属性,必须与路由配置一致。
接口404错误:确认renren-fast的启动类RenrenApplication是否添加了正确注解:
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})6. 项目扩展与二次开发
基础功能跑通后,你可能需要这些进阶操作:
自定义查询条件:在Vue文件的data()中添加查询字段,然后在methods中修改getDataList()方法。
添加复杂业务逻辑:在Service层实现自定义方法,注意事务注解@Transactional的使用。
集成第三方服务:比如OSS文件上传,建议在renren-common模块添加工具类。
多数据源配置:参考项目中的DynamicDataSourceConfig,通过@DS注解切换数据源。
我在实际项目中发现,renren-fast的权限体系非常灵活,可以通过重写ShiroConfig实现自定义鉴权逻辑。比如添加JWT支持,或者整合企业现有的LDAP认证系统。