简介
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/Shanghaiusername: rootpassword: 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: 123456jackson:time-zone: GMT+8date-format: yyyy-MM-dd HH:mm:ssresources:static-locations: classpath:/static/,classpath:/views/#mongodb:
# host: localhost
# port: 27017
# auth: false #是否使用密码验证
# username: tincery
# password: renren
# source: 123456
# database: testmybatis-plus:mapperLocations: classpath:mapper/**/*.xmlpagehelper:reasonable: truesupportMethodsArguments: trueparams: 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=Booleanchar=String
varchar=String
tinytext=String
text=String
mediumtext=String
longtext=Stringdate=Date
datetime=Date
timestamp=DateNUMBER=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)=Dateint8=Long
int4=Integer
int2=Integer
numeric=BigDecimalnvarchar=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: 7070spring:datasource:username: rootpassword: rooturl: jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghaidriver-class-name: com.mysql.cj.jdbc.Driver#配置mysql-plus
mybatis-plus:mapper-locations: classpath:/mapper/**/*.xmlglobal-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%的业务其实就已经完成了,只需要在生成的代码上进行修改即可。