1.介绍

1.1.项目描述

renren-fast 是一个轻量级的 Spring Boot 快速开发平台,能快速开发项目并交付【接私活利器】 完善的 XSS 防范及脚本过滤,彻底杜绝 XSS 攻击,实现前后端分离,通过 token 进行数据交互 推荐使用阿里云服务器部署项目,免费领取阿里云优惠券,请点击 免费领取

1.2.获取帮助

1.3.官方QQ群

  • 高级群:324780204(大牛云集,跟大牛学习新技能)
  • 普通群:145799952(学习交流,互相解答各种疑问)

2.快速开始
本项目是前后端分离的,需要先部署好后端,再部署前端页面,才能看到项目的页面效果。

2.1.后端部署

  • 环境要求 JDK1.8 、 MySQL5.5+
  • 通过 git ,下载renren-fast源码,如下:
  • git clone https://git.oschina.net/renrenio/renren-fast.git
  • 用 idea 打开项目, File -> Open 如下图:
  • 用 eclipse 打开项目,如下图:
  • 创建数据库 renren_fast ,数据库编码为 UTF-8
  • 执行 doc/db.sql 文件,初始化数据(默认支持MySQL)
  • 修改 application-dev.yml ,更新MySQL账号和密码
  • 运行 io.renren.RenrenApplication.java 的 main 方法,则可启动项目
  • Swagger路径:http://localhost:8080/renren-fast/swagger/index.html
  • Swagger注释路径:http://localhost:8080/renren-fast/swagger-ui.html

2.2.前端部署

renren-fast-vue基于vue、element-ui构建开发,实现renren-fast后台管理前端功能,
提供一套更优的前端解决方案。欢迎star或fork前端Git库,方便日后寻找,及二次开发。

  • 开发环境,需要安装node8.x最新版
  •     # 克隆项目
        git clone https://github.com/daxiongYang/renren-fast-vue.git
        # 安装依赖
        npm install
        # 启动服务
        npm run dev
                
  • 生成环境,打包并把dist目录文件,部署到Nginx里
  •     # 构建生产环境(默认) npm run build
        # 构建测试环境
        npm run build --qa
        # 构建验收环境
        npm run build --uat
        # 构建生产环境
        npm run build --prod
        # 安装Nginx,并配置Nginx server {
            listen       80;
            server_name  localhost;
        location / {
        root E:\\renren-fast-vue; index index.html index.htm;
        } }
        # 启动Nginx后,访问如下路径即可 http://localhost
                
  • 登录的账号密码:admin/admin

2.3.配置文件

  •     # Tomcat
        server:
            tomcat:
                uri-encoding: UTF-8
                max-threads: 1000
                min-spare-threads: 30
            port: 8080  #tomcat端口号
            context-path: /renren-fast
        spring:
            # 环境 dev|test|prod
            profiles:
                active: dev
            # jackson时间格式化
            jackson:
                time-zone: GMT+8
                date-format: yyyy-MM-dd HH:mm:ss
            http:
                multipart:
                    max-file-size: 100MB
                    max-request-size: 100MB
                    enabled: true
            redis:
                open: false  # 是否开启redis缓存  true开启   false关闭
                database: 0
                host: localhost
                port: 6379
                password:       # 密码(默认为空)
                timeout: 6000  # 连接超时时长(毫秒)
                pool:
                    max-active: 1000  # 连接池最大连接数(使用负值表示没有限制)
                    max-wait: -1      # 连接池最大阻塞等待时间(使用负值表示没有限制)
                    max-idle: 10      # 连接池中的最大空闲连接
                    min-idle: 5       # 连接池中的最小空闲连接
        #mybatis
        mybatis-plus:
          mapper-locations: classpath:mapper/**/*.xml
          #实体扫描,多个package用逗号或者分号分隔
          typeAliasesPackage: io.renren.modules.*.entity
          global-config:
            #主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
            id-type: 0
            #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
            field-strategy: 2
            #驼峰下划线转换
            db-column-underline: true
            #刷新mapper 调试神器
            refresh-mapper: true
            #数据库大写下划线转换
            #capital-mode: true
            #序列接口实现类配置
            #key-generator: com.baomidou.springboot.xxx
            #逻辑删除配置
            logic-delete-value: -1
            logic-not-delete-value: 0
            #自定义填充策略接口实现
            #meta-object-handler: com.baomidou.springboot.xxx
            #自定义SQL注入器
            sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
          configuration:
            map-underscore-to-camel-case: true
            cache-enabled: false
            call-setters-on-nulls: true
        renren:
            # APP模块,是通过jwt认证的,如果要使用APP模块,则需要修改【加密秘钥】
            jwt:
                # 加密秘钥
                secret: f4e2e52034348f86b67cde581c0f9eb5[www.renren.io]
                # token有效时长,7天,单位秒
                expire: 604800
                header: token
        # 数据库配置
        spring:
            datasource:
                type: com.alibaba.druid.pool.DruidDataSource
                driverClassName: com.mysql.jdbc.Driver
                druid:
                    first:  #数据源1
                        url: jdbc:mysql://localhost:3306/renren_fast?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8
                        username: renren
                        password: 123456
                    second:  #数据源2
                        url: jdbc:mysql://localhost:3306/bdshop?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8
                        username: renren
                        password: 123456
                    initial-size: 10
                    max-active: 100
                    min-idle: 10
                    max-wait: 60000
                

2.4.数据交互

  • 一般情况下,web项目都是通过session进行认证,每次请求数据时,都会把jsessionid放在cookie中,以便与服务端保持会话
  • 本项目是前后端分离的,通过token进行认证(登录时,生成唯一的token凭证),每次请求数据时,都会把token放在header中,服务端解析token,并确定用户身份及用户权限,数据通过json交互
3.项目实战

3.1.功能描述

  • 我们来完成一个商品的列表、添加、修改、删除功能,熟悉如何快速开发自己的业务功能模块。

3.2.使用代码生成器

3.3.测试项目

捐赠160元,即可长期获取 renren-fast 最新【完整版】的开发文档,社区等级升到 VIP1

捐赠200元,即可长期获取 renren-security 最新【完整版】的开发文档,社区等级升到 VIP1

捐赠300元,即可长期获取最新版的 renren-fastrenren-security【完整版】开发文档,社区等级升到 VIP1


捐赠入口

*项目的可持续发展离不开您的支持!

*捐赠完成后请登录社区产品中心下载文档