最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

Sringboot基于renren

IT圈 admin 4浏览 0评论

Sringboot基于renren

开发文档链接: 提取码: t5mg 

renren-fast框架介绍

  1. renren-fast是一个轻量级的Spring Boot快速开发平台,能快速开发项目并交付.
  2. 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击
  3. 实现前后端分离,通过token进行数据交互

 

入门   快速开始

1.后端部署

•环境要求JDK1.8、Tomcat8.0+、MySQL5.5+ .

•通过git,下载renren-fast源码.

•导入源码项目

•创建数据库renren_fast,数据库编码为UTF-8

•执行db/mysql.sql文件,初始化数据(默认支持MySQL)

• 修改application-dev.yml ,更新MySQL账号和密码

•运行io.renren.RenrenApplication.java 的main 方法,则可启动项目

 

2.前端部署

本项目提供了element-ui及adminlte两套主题,推荐使用element-ui主题 基于vue、element-ui构建开发

1.安装Node.js

   Node.js 官网 : /

   这里引用菜鸟教程的安装教程 : .html

2. 下载vue前端代码 .git

3. 安装依赖后启动服务

 
  1. # 进入代码文件夹下

  2. # 安装依赖

  3. npm install

  4. # 启动服务

  5. npm run dev

补充 这里大概率是node-sass问题导致安装失败,解决方法执行一下方法执行镜像下载即可

npm i node-sass --sass_binary_site=/

 

启动服务后就会跳出界面

 

默认用户名密码 admin admin

测试实战

1.我们先建一个商品表tb_goods,表结构如下所示:

 
  1. SET FOREIGN_KEY_CHECKS=0;

  2.  
  3. -- ----------------------------

  4. -- Table structure for tb_goods

  5. -- ----------------------------

  6. DROP TABLE IF EXISTS `tb_goods`;

  7. CREATE TABLE `tb_goods` (

  8. `goods_id` bigint(20) NOT NULL AUTO_INCREMENT,

  9. `name` varchar(50) DEFAULT NULL COMMENT '商品名',

  10. `intro` varchar(500) DEFAULT NULL COMMENT '介绍',

  11. `price` decimal(10,2) DEFAULT NULL COMMENT '价格',

  12. `num` int(11) DEFAULT NULL COMMENT '数量',

  13. PRIMARY KEY (`goods_id`)

  14. ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COMMENT='商品管理';

  15.  
  16. -- ----------------------------

  17. -- Records of tb_goods

  18. -- ----------------------------

  19. INSERT INTO `tb_goods` VALUES ('1', '戴尔', '游匣', '123.00', '1123');

  20. INSERT INTO `tb_goods` VALUES ('2', '惠普', '暗夜精灵', '123.00', '123');

  21. INSERT INTO `tb_goods` VALUES ('3', '华硕', '飞行堡垒', '123.00', '1');

  22. INSERT INTO `tb_goods` VALUES ('4', '联想', '拯救者', '123.00', '123');

  23. INSERT INTO `tb_goods` VALUES ('7', '苹果', 'MACBOOK', '123.00', '1234');

  24. INSERT INTO `tb_goods` VALUES ('9', '商品', '笔记本', '123.00', '123');

  25. INSERT INTO `tb_goods` VALUES ('10', '商品', '笔记本', '123.00', '123');

  26. INSERT INTO `tb_goods` VALUES ('11', '商品', '笔记本', '312.00', '312');

  27. INSERT INTO `tb_goods` VALUES ('12', '商品', '笔记本', '123.00', '123');

 

2.接下来,我们利用代码生成器,帮我们生成基础代码,可以大大的节省重复工作量,代码 生成器Git地址:

3.导入项目

4.修改application.yml配置文件 只需要修改数据库名 账号 密码

5.启动项目,访问localhost:80 端口

7.勾选相应要生成代码的,点击生成代码即可

8.生成代码后,先在数据库中执行生成出来的sql文件

 
  1. -- 菜单SQL

  2. INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`)

  3. VALUES ('1', '商品管理', 'generator/goods', NULL, '1', 'config', '6');

  4.  
  5. -- 按钮父菜单ID

  6. set @parentId = @@identity;

  7.  
  8. -- 菜单对应按钮SQL

  9. INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`)

  10. SELECT @parentId, '查看', null, 'generator:goods:list,generator:goods:info', '2', null, '6';

  11. INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`)

  12. SELECT @parentId, '新增', null, 'generator:goods:save', '2', null, '6';

  13. INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`)

  14. SELECT @parentId, '修改', null, 'generator:goods:update', '2', null, '6';

  15. INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`)

  16. SELECT @parentId, '删除', null, 'generator:goods:delete', '2', null, '6';

9.然后把生成的main目录覆盖在renren-fast的main目录下

这一步结束之后,重启后台项目,我们打开前端页面可以看到商品管理,但是点击缺没有显示页面。

 

 

这里是因为只是覆盖还不行,需要把生成的两个vue文件放到前端vue项目的 renren-fast-vue-master\src\views\modules\generator

下才可以显示页面,因为这个前后端分离部署的项目哦

10.重启项目 访问 localhost:8001 就发现菜单多了一栏商品管理,增删改查都弄好了

 

 

查询方法的逻辑是未实现的,需要自己根据需求修改代码

 
  1. @Override

  2. public PageUtils queryPage(Map<String, Object> params) {

  3. EntityWrapper<GoodsEntity> entityWrapper = new EntityWrapper<>();

  4. String key = (String) params.get("key");

  5. if(key!=null){

  6. entityWrapper.like("name",key);

  7. }

  8. Page<GoodsEntity> page = this.selectPage(

  9. new Query<GoodsEntity>(params).getPage(),

  10. entityWrapper

  11. );

  12. return new PageUtils(page);

  13. }

 

至此renrenfast的快速入门介绍完毕,其底层是用了spirngboot,mybatisplus,shiro.后面会持续研究..

 

 

同时这里回头补充两句,本人第一次学习renrenfast时候还是出生牛犊一枚,在日后的开发中借鉴了renrenfast的架构,但同时也发现了不足,建议大家将ISerivce接口去除,把业务逻辑的重心放到service层。而不是将大量的业务代码堆积在Controller层。比较优秀的架构方案github上也有很多啦,本人也是看了许多这类源码。

Sringboot基于renren

开发文档链接: 提取码: t5mg 

renren-fast框架介绍

  1. renren-fast是一个轻量级的Spring Boot快速开发平台,能快速开发项目并交付.
  2. 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击
  3. 实现前后端分离,通过token进行数据交互

 

入门   快速开始

1.后端部署

•环境要求JDK1.8、Tomcat8.0+、MySQL5.5+ .

•通过git,下载renren-fast源码.

•导入源码项目

•创建数据库renren_fast,数据库编码为UTF-8

•执行db/mysql.sql文件,初始化数据(默认支持MySQL)

• 修改application-dev.yml ,更新MySQL账号和密码

•运行io.renren.RenrenApplication.java 的main 方法,则可启动项目

 

2.前端部署

本项目提供了element-ui及adminlte两套主题,推荐使用element-ui主题 基于vue、element-ui构建开发

1.安装Node.js

   Node.js 官网 : /

   这里引用菜鸟教程的安装教程 : .html

2. 下载vue前端代码 .git

3. 安装依赖后启动服务

 
  1. # 进入代码文件夹下

  2. # 安装依赖

  3. npm install

  4. # 启动服务

  5. npm run dev

补充 这里大概率是node-sass问题导致安装失败,解决方法执行一下方法执行镜像下载即可

npm i node-sass --sass_binary_site=/

 

启动服务后就会跳出界面

 

默认用户名密码 admin admin

测试实战

1.我们先建一个商品表tb_goods,表结构如下所示:

 
  1. SET FOREIGN_KEY_CHECKS=0;

  2.  
  3. -- ----------------------------

  4. -- Table structure for tb_goods

  5. -- ----------------------------

  6. DROP TABLE IF EXISTS `tb_goods`;

  7. CREATE TABLE `tb_goods` (

  8. `goods_id` bigint(20) NOT NULL AUTO_INCREMENT,

  9. `name` varchar(50) DEFAULT NULL COMMENT '商品名',

  10. `intro` varchar(500) DEFAULT NULL COMMENT '介绍',

  11. `price` decimal(10,2) DEFAULT NULL COMMENT '价格',

  12. `num` int(11) DEFAULT NULL COMMENT '数量',

  13. PRIMARY KEY (`goods_id`)

  14. ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COMMENT='商品管理';

  15.  
  16. -- ----------------------------

  17. -- Records of tb_goods

  18. -- ----------------------------

  19. INSERT INTO `tb_goods` VALUES ('1', '戴尔', '游匣', '123.00', '1123');

  20. INSERT INTO `tb_goods` VALUES ('2', '惠普', '暗夜精灵', '123.00', '123');

  21. INSERT INTO `tb_goods` VALUES ('3', '华硕', '飞行堡垒', '123.00', '1');

  22. INSERT INTO `tb_goods` VALUES ('4', '联想', '拯救者', '123.00', '123');

  23. INSERT INTO `tb_goods` VALUES ('7', '苹果', 'MACBOOK', '123.00', '1234');

  24. INSERT INTO `tb_goods` VALUES ('9', '商品', '笔记本', '123.00', '123');

  25. INSERT INTO `tb_goods` VALUES ('10', '商品', '笔记本', '123.00', '123');

  26. INSERT INTO `tb_goods` VALUES ('11', '商品', '笔记本', '312.00', '312');

  27. INSERT INTO `tb_goods` VALUES ('12', '商品', '笔记本', '123.00', '123');

 

2.接下来,我们利用代码生成器,帮我们生成基础代码,可以大大的节省重复工作量,代码 生成器Git地址:

3.导入项目

4.修改application.yml配置文件 只需要修改数据库名 账号 密码

5.启动项目,访问localhost:80 端口

7.勾选相应要生成代码的,点击生成代码即可

8.生成代码后,先在数据库中执行生成出来的sql文件

 
  1. -- 菜单SQL

  2. INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`)

  3. VALUES ('1', '商品管理', 'generator/goods', NULL, '1', 'config', '6');

  4.  
  5. -- 按钮父菜单ID

  6. set @parentId = @@identity;

  7.  
  8. -- 菜单对应按钮SQL

  9. INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`)

  10. SELECT @parentId, '查看', null, 'generator:goods:list,generator:goods:info', '2', null, '6';

  11. INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`)

  12. SELECT @parentId, '新增', null, 'generator:goods:save', '2', null, '6';

  13. INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`)

  14. SELECT @parentId, '修改', null, 'generator:goods:update', '2', null, '6';

  15. INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`)

  16. SELECT @parentId, '删除', null, 'generator:goods:delete', '2', null, '6';

9.然后把生成的main目录覆盖在renren-fast的main目录下

这一步结束之后,重启后台项目,我们打开前端页面可以看到商品管理,但是点击缺没有显示页面。

 

 

这里是因为只是覆盖还不行,需要把生成的两个vue文件放到前端vue项目的 renren-fast-vue-master\src\views\modules\generator

下才可以显示页面,因为这个前后端分离部署的项目哦

10.重启项目 访问 localhost:8001 就发现菜单多了一栏商品管理,增删改查都弄好了

 

 

查询方法的逻辑是未实现的,需要自己根据需求修改代码

 
  1. @Override

  2. public PageUtils queryPage(Map<String, Object> params) {

  3. EntityWrapper<GoodsEntity> entityWrapper = new EntityWrapper<>();

  4. String key = (String) params.get("key");

  5. if(key!=null){

  6. entityWrapper.like("name",key);

  7. }

  8. Page<GoodsEntity> page = this.selectPage(

  9. new Query<GoodsEntity>(params).getPage(),

  10. entityWrapper

  11. );

  12. return new PageUtils(page);

  13. }

 

至此renrenfast的快速入门介绍完毕,其底层是用了spirngboot,mybatisplus,shiro.后面会持续研究..

 

 

同时这里回头补充两句,本人第一次学习renrenfast时候还是出生牛犊一枚,在日后的开发中借鉴了renrenfast的架构,但同时也发现了不足,建议大家将ISerivce接口去除,把业务逻辑的重心放到service层。而不是将大量的业务代码堆积在Controller层。比较优秀的架构方案github上也有很多啦,本人也是看了许多这类源码。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论