✅P16-19_项目骨架搭建

gong_yz大约 3 分钟谷粒商城

导入renren-fast

renren-fast导入项目中,地址:https://gitee.com/renrenioopen in new window

其中db文件中的 mysql.sql文件中包含权限控制和定时任务的表,在 gulimall-admin 数据库中执行。

修改application-dev.yml 中的相关配置如下,

运行主启动类,访问: http://localhost:8086/renren-fast/open in new window ,单纯启动后台效果如下:


运行renren-fast-vue

renren-fast-vue:后台管理界面

renren-fast-vue 项目克隆到本地删除git文件后用 VS Vode 打开,首先在终端执行npm install,(前提电脑安装node.js)接着 npm run dev运行项目。访问如下地址会出现后台登录界面。


创建common模块存放公共类

参考代码:https://gitee.com/LastedMemory/cfmall/tree/master/cfmall-commonopen in new window


导入 renren-generator 逆向生成代码

注:逆向生成前后端代码,包括页面

修改 application.yml 文件

修改 generator.properties 文件如下,注意:不同模块需要改不同的moudleNametablePrefix

将模板生成的权限注解注释,我们用不到,同时去掉上方的依赖,要不然我们生成的代码会报错。

运行 RenrenApplication主启动 ,点击访问地址

生成代码后将 java文件放入cfmall-product指定路径下,有引入报错,将 renren-generator工具类导入至以下路径:

此时cfmall-product 的部分代码报错,是因为 cfmall-common 缺少mybatis依赖。依赖如下:

<dependency>
  <groupId>com.gyz.common</groupId>
  <artifactId>cfmall-common</artifactId>
  <version>0.0.1-SNAPSHOT</version>
</dependency>

<!-- mybatis-plus-->
<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>mybatis-plus-boot-starter</artifactId>
  <version>3.2.0</version>
</dependency>

cfmall-product 服务下新建 application.yml配置数据源

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://192.168.56.10:3306/gulimall_pms?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
    driver-class-name: com.mysql.cj.jdbc.Driver

mybatis-plus:
  mapper-locations: classpath:/mapper/**/*.xml
  #设置实体类的自增主键
  global-config:
    db-config:
      id-type: auto
server:
  port: 8001

主启动类加上@MapperScan注解进行扫描;

package com.gyz.cfmall.product;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.gyz.cfmall.product.dao")
public class CfmallProductApplication {

    public static void main(String[] args) {
        SpringApplication.run(CfmallProductApplication.class, args);
    }

}

在test包下进行测试:

package com.gyz.cfmall.product;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.gyz.cfmall.product.entity.BrandEntity;
import com.gyz.cfmall.product.service.BrandService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;

@RunWith(SpringRunner.class)
@SpringBootTest
public class CfmallProductApplicationTests {

    @Autowired
    BrandService brandService;
    @Test
    public void contextLoads() {
        List<BrandEntity> list = brandService.list(new QueryWrapper<BrandEntity>().eq("brand_id", 1L));
        list.forEach(item ->{
            System.out.println(item);
        });
    }

}

此时 cfmall-product 服务就完全生成成功了。其他微服务类似搭建!