简介
renrenfast框架介绍
- renren-fast是一个轻量级的Spring Boot快速开发平台,能快速开发项目并交付.
- 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击
- 实现前后端分离,通过token进行数据交互
使用流程
项目地址
https://gitee.com/renrenio/renren-fast?_from=gitee_search
项目说明
- renren-fast是一个轻量级的,前后端分离的Java快速开发平台,能快速开发项目并交付【接私活利器】
- 支持MySQL、Oracle、SQL Server、PostgreSQL等主流数据库
- 演示环境:http://demo.open.renren.io/renren-security
- 前端地址:https://gitee.com/renrenio/renren-fast-vue
- 代码生成器:https://gitee.com/renrenio/renren-generator
环境搭建
-
仓库拉取renren-generator代码生成器,仓库地址:https://gitee.com/renrenio/renren-generator
-
将其拖拽到idea(使用idea打开文件目录)如下图所示:
-
修改application.yml里面的配置文件
server:
port: 80
# mysql
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
#MySQL配置
driverClassName: com.mysql.cj.jdbc.Driver
#要开发哪个项目就将test改成哪个数据库名
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: root
#oracle配置
# driverClassName: oracle.jdbc.OracleDriver
# url: jdbc:oracle:thin:@47.100.206.162:1521:xe
# username: renren
# password: 123456
#SQLServer配置
# driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
# url: jdbc:sqlserver://192.168.10.10:1433;DatabaseName=renren_fast
# username: sa
# password: 123456
#PostgreSQL配置
# driverClassName: org.postgresql.Driver
# url: jdbc:postgresql://192.168.10.10:5432/renren_fast
# username: postgres
# password: 123456
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
resources:
static-locations: classpath:/static/,classpath:/views/
#mongodb:
# host: localhost
# port: 27017
# auth: false #是否使用密码验证
# username: tincery
# password: renren
# source: 123456
# database: test
mybatis-plus:
mapperLocations: classpath:mapper/**/*.xml
pagehelper:
reasonable: true
supportMethodsArguments: true
params: count=countSql
#指定数据库,可选值有【mysql、oracle、sqlserver、postgresql、mongodb】
renren:
database: mysql
这里只需要将你要生成的项目数据库改成你自己的就行了(如下图)
- 修改generator.properties配置文件
#\u4EE3\u7801\u751F\u6210\u5668\uFF0C\u914D\u7F6E\u4FE1\u606F
#这个最好和下面的目录结构一致
mainPath=com.lonely.kai
#目录结构
package=com.lonely.kai
#模块名称
moduleName=test
#作者
author=lonelykkk
#邮箱
email=kkk@gmail.com
#表名前缀,根据你要生成的数据库相关表的前缀来写,比如我写了test_前缀,那么就只会生成test_前缀表的相关代码,没用特殊要求可以不写
tablePrefix=test_
#\u7C7B\u578B\u8F6C\u6362\uFF0C\u914D\u7F6E\u4FE1\u606F
tinyint=Integer
smallint=Integer
mediumint=Integer
int=Integer
integer=Integer
bigint=Long
float=Float
double=Double
decimal=BigDecimal
bit=Boolean
char=String
varchar=String
tinytext=String
text=String
mediumtext=String
longtext=String
date=Date
datetime=Date
timestamp=Date
NUMBER=Integer
INT=Integer
INTEGER=Integer
BINARY_INTEGER=Integer
LONG=String
FLOAT=Float
BINARY_FLOAT=Float
DOUBLE=Double
BINARY_DOUBLE=Double
DECIMAL=BigDecimal
CHAR=String
VARCHAR=String
VARCHAR2=String
NVARCHAR=String
NVARCHAR2=String
CLOB=String
BLOB=String
DATE=Date
DATETIME=Date
TIMESTAMP=Date
TIMESTAMP(6)=Date
int8=Long
int4=Integer
int2=Integer
numeric=BigDecimal
nvarchar=String
- 启动项目
项目启动成功后在浏览器打开localhost:80端口就会出现如下界面
这时里面的表就是你刚刚yml文件里面填写的数据库里面的表,然后根据需求来勾选你要生成的相关表的代码(主要是业务的增删改查)。例如我用的是一个博客项目的数据库,就会根据我的数据库来生成相关业务代码。
- 代码生成测试
例如我全部勾选,就会生成所有表的业务需求代码。点击生成代码就会自动下载生成的代码文件。如下图:
之后打开你的刚刚下载的文件
将其解压后main文件里面就是所生成的所有前后端代码。
并且目录结构就是你刚刚generator.properties文件里面修改的配置。
正式项目开发搭建
-
构建maven项目
-
构建完成后将刚刚解压缩的文件里面的main文件复制
复制后在刚刚新构建的项目的src路径下粘贴main文件,覆盖项目原本自带的main
查看有没有成功粘贴上,粘贴不了可以直接在文件夹里面去粘贴,成功后就是如下路径
- 解决项目包错问题
- 解决依赖性问题,添加maven依赖
在pom文件中导入相关依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>renren-test</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!--shiro的包-->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-all</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.5.16</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.76</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.23</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.4.5</version>
</plugin>
</plugins>
</build>
</project>
- 解决部分工具类没有导入的问题
随机点进一个控制类发现有部分工具类没有导入
复制从仓库拉取的renren-fast代码里面common文件,并粘贴到新建的项目中如下图所示:
然后点进报错的类里面将相关工具类引入就可以了。目前自测common文件里面只需要用如下部分工具类就可以了,不用的可以自行删除,当然不报错的话不删也没事
- 将报错改好后在resource目录下新建yml文件如下图
建好后进行相关配置
server:
port: 7070
spring:
datasource:
username: root
password: root
url: jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
driver-class-name: com.mysql.cj.jdbc.Driver
#配置mysql-plus
mybatis-plus:
mapper-locations: classpath:/mapper/**/*.xml
global-config:
db-config:
id-type: auto #配置主键自增
logic-delete-value: 0 #逻辑删除值
logic-not-delete-value: 1 #逻辑未删除值
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #配置sql输出,方便我们观察sql
- 启动项目进行测试
运行成功后打开控制层,查看接口路径,测试相关接口,例如我是一个博客项目,我就测试一下查看所有文章接口,接口路径如下图所示:
此时我只需要在浏览器输入localhost:7070/test/forumarticle/list
就可以查看所有文章,如下图:
查询成功,项目的至少60%的业务其实就已经完成了,只需要在生成的代码上进行修改即可。