Spring Cloud Alibaba 后台工程框架(1)

265 阅读1分钟

1. 创建父工程

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.11.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>

  <groupId>com.chins.mall.backend</groupId>
  <artifactId>parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>

  <modules>
    <module>dependencies</module>
    <module>provider</module>
  </modules>

  <properties>
    <java.version>1.8</java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.chins.mall.backend</groupId>
        <artifactId>dependencies</artifactId>
        <version>${project.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

2. 创建依赖管理模块

<properties>
    <spring-cloud.version>Greenwich.SR4</spring-cloud.version>
    <spring-cloud-alibaba.version>2.1.1.RELEASE</spring-cloud-alibaba.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>${spring-cloud.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-alibaba-dependencies</artifactId>
        <version>${spring-cloud-alibaba.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

3. 创建提供者模块(数据访问层)

## 管理依赖版本
<modules>
    <module>provider-user-mgr-api</module>
    <module>provider-user-mgr-service</module>
  </modules>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <artifactId>lombok</artifactId>
        <groupId>org.projectlombok</groupId>
        <scope>provided</scope>
        <version>1.18.10</version>
      </dependency>
      <dependency>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <groupId>com.baomidou</groupId>
        <version>3.3.0</version>
      </dependency>
    </dependencies>

  </dependencyManagement>

3.1 用户管理模块

## api pom.xml
<dependencies>
    <dependency>
      <artifactId>lombok</artifactId>
      <groupId>org.projectlombok</groupId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <artifactId>mybatis-plus-boot-starter</artifactId>
      <groupId>com.baomidou</groupId>
    </dependency>
  </dependencies>
## service pom.xml
<dependencies>
    <dependency>
      <groupId>com.chins.mall.backend</groupId>
      <artifactId>provider-user-mgr-api</artifactId>
      <version>${project.parent.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    <dependency>
      <artifactId>mysql-connector-java</artifactId>
      <groupId>mysql</groupId>
    </dependency>
  </dependencies>

api负责约定接口,service负责实现接口,需要访问数据库。

spring:
  application:
    name: provider-user-mgr
  datasource:
    url: jdbc:mysql://192.168.0.106:3306/chinsmall_user_mgr?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&useSSL=false
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.zaxxer.hikari.HikariDataSource
    hikari:
      auto-commit: true
      minimum-idle: 2
      idle-timeout: 60000
      connection-timeout: 30000
      max-lifetime: 1800000
      pool-name: DatebookHikariCP
      maximum-pool-size: 5

mybatis-plus:
  type-aliases-package: com.chins.mall.backend.provider.user.mgr.domain
  mapper-locations: classpath*:/mybatis/mapper/*.xml

3.2 测试用例已通过

下一步把用户服务注册到nacos,提供服务待续