电商项目——初识电商——第一章——上篇
电商项目——分布式基础概念和电商项目微服务架构图,划分图的详解——第二章——上篇
电商项目——电商项目的虚拟机环境搭建_VirtualBox,Vagrant——第三章——上篇
电商项目——Linux虚拟机中安装docker,mysql,redis_VirtualBox——第四章——上篇
电商项目——电商项目的环境搭建_开发工具&环境搭建——第五章——上篇
电商项目——快速开发人人开源搭建后台管理系统&代码生成器逆向工程搭建——第六章——上篇
电商项目——分布式组件(SpringCloud Alibaba,SpringCloud)——第七章——上篇
电商项目——前端基础——第八章——上篇
电商项目——商品服务-API-三级分类——第九章——上篇
电商项目——商品服务-API-品牌管理——第十章——上篇
电商项目——商品服务-API-属性分组——第十一章——上篇
电商项目——商品服务-API-品牌管理——第十二章——上篇
电商项目——商品服务-API-平台属性——第十三章——上篇
电商项目——商品服务-API-新增商品——第十四章——上篇
电商项目——商品服务-API-商品管理——第十五章——上篇
电商项目——商品服务-API-仓库管理——第十六章——上篇
如果大家觉得我下面的文章写得好,请大家给我一个赞,奢求大伙们的一个关注,有什么不足我们评论区见
前面我们创建好了各个微服务,以及微服务中对应的数据库和开发环境的搭建,接下来我们就要使用人人开源来搭建后台管理系统
按照微服务划分,我们先创建出一个后台管理系统,来操作后面各个服务的后台管理功能,如果我们从头到尾来搭建一个后台管理系统(去写它的前后端,非常耗时),所以我们希望有一个搭建好的脚手架工程,只要我们稍加改造就可以作为一个后台管理系统使用;接下来我们就简单介绍码云上的人人开源
renren-fast
renren-generator
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>com.atstudying.mallgroupId>
<artifactId>mallartifactId>
<version>0.0.1-SNAPSHOTversion>
<name>mallname>
<description>聚合服务description>
<packaging>pompackaging>
<modules>
<module>mall-couponmodule>
<module>mall-ordermodule>
<module>mall-membermodule>
<module>mall-productmodule>
<module>mall-waremodule>
<module>renren-fastmodule>
<module>renren-generatormodule>
modules>
project>
只访问8080是它的后台系统,我们需要前端项目(renren-fast-vue)来跟后端建立连接;
在这里我们简单介绍一下Node.js的概念
前端开发,少不了node.js; Node.js 是一个基 于Chrome V8引擎的JavaScript 运行环境。
http://nodejs.cn/api/
我们关注与node.js的npm功能就行;
NPM是随同NodeJS 一起安装的包管理工具,JavaScript-NPM, Java-Maven;
1)、官网下载安装node.js, 并使用node -v检查版本
2)、配置npm使用淘宝镜像
npm config set registry htp://regis/ry.pm.taobao.org/
如下图
# npm install执行完以后,我们会发现在项目下多了一个 node_modules文件夹。我们安装的依赖文件都可以在这里面找到
& npm install
运行项目命令如下
# 运行前端项目
& npm run dev
前面我们已经搭建好了后台管理系统,接下来我们就使用逆向工程为每一个微服务生成基本的增删改查代码
<module>renren-generatormodule>
第一处:修改数据库的用户名密码,和对应的ip地址和数据库application.yml
第二处:generator.properties
第三处:注释掉Controlller模板中的一个Permission注解(现在还没有用到,以后要转化成SpringSecurity的权限控制)
分析默认代码生成的代码中,缺少的都是公共类,所以我们可以创建一个mall-common微服务,最终希望每一个微服务的公共的类和公共的依赖都写在mall-common里面
如下就是缺少的公共类和依赖
import com.atstudying.common.utils.PageUtils;
import com.atstudying.common.utils.R;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.atstudying.common.utils.PageUtils;
import com.atstudying.common.utils.Query;
import io.renren.common.xss.SQLFilter;
import org.apache.commons.lang.StringUtils;
import org.apache.http.HttpStatus;
//...
<dependency>
<groupId>com.atstudying.mallgroupId>
<artifactId>mall-commonartifactId>
<version>0.0.1-SNAPSHOTversion>
dependency>
//..
//...
<!--导入mybatis-plus 微服务的dao层就不报错了和service层部分不报错了-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
<!-- 导入lombok(简化实体类的开发,我们之前专了一个lombok插件(在编译的时候会自动为实体类添上getter,setter方法)) @Dtaa注解就不报错了,实体类就不报错了-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
</dependency>
//...
pom.xml
//...
<dependency>
<groupId>org.apache.httpcomponentsgroupId>
<artifactId>httpcoreartifactId>
<version>4.4.12version>
dependency>
<dependency>
<groupId>commons-langgroupId>
<artifactId>commons-langartifactId>
<version>2.6version>
dependency>
//...
继续完成下面操作
xss还有一点东西要解决,如下
pom.xml
<dependency>
<groupId>javax.servletgroupId>
<artifactId>servlet-apiartifactId>
<version>2.5version>
<scope>providedscope>
dependency>
把renren-fast里面的异常导入,并且只留下xss文件中的两个类
前面我们使用了逆向工程为优惠服务逆向生成了所有代码,接下来我们就要进行测试
//..
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>8.0.17version>
dependency>
//..
application.yml
spring:
datasource:
username: root
password: root
url: jdbc:mysql://192.168.56.10:3306/mall-coupon
driver-class-name: com.mysql.jdbc.Driver
@MapperScan("com.atstudying.mall.coupon.dao")
@SpringBootApplication
public class MallCouponApplication {
public static void main(String[] args) {
SpringApplication.run(MallCouponApplication.class, args);
}
}
//..
mybatis-plus:
#扫描resources类路径下的叫mapper的,mapper子文件是*的,底下的全部xml文件
mapper-locations: classpath:/mapper/**/*.xml
//..
//..
mybatis-plus:
global-config:
db-config:
id-type: auto
@Test
void contextLoads() {
CouponEntity couponEntity=new CouponEntity();
couponEntity.setCouponName("222");
couponService.save(couponEntity);
}
上面已经成功测试了mall-coupon微服务的代码自动生成,并且测试成功,接下来我们自己动手把其他微服务也完成代码自动生成和测试
就是按照上面1,2,3章节的内容一步一步操作,自己多动手加油