一、父工程搭建

1、创建项目类型为maven的父工程

File→new→Module→maven→next→Add as module to:none和Parent:none→GroupId:com.zwhxpp,AritfactId:zwh-springcloud→next→Module Name: zwh-springcloud,Content root: C:\Users\miracle\IdeaProjects\springcloud_2020\zwh-springcloud→finish

我们可以先创建一个父工程,然后后续的工程都以这个工程为父,实现maven的聚合。也可以在一个空的文件夹下面创建父工程,即父工程也可以和其他模块一样是一个独立的模块,此时其他模块仍然继承父工程。

2、添加父工程的依赖

父工程继承spring-boot-starter-parent,所有工程继承父工程,所有微服务都可以依赖基础工程

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.5.RELEASE</version>
        <relativePath/>
    </parent>

我们知道Maven的继承和Java的继承一样,只能单继承,无法实现多继承,我们可以使用<type>pom</type><scope>import</scope>来实现多继承。解释一下:type标签的默认值是jar,代表我们依赖导入的是一个jar包,现在我们设置成了pom,说明导入的是一个父模块,后面的scope标签中的值import代表把父模块中的jar包导入进来,不过需要注意的是<type>pom</type><scope>import</scope>,这种方式只能用在<dependencyManagement></dependencyManagement>

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

即父工程也继承spring-cloud-dependencies,即可以用spring-cloud的组件。

由于在父工程中已经对spring cloud组件的版本进行了锁定,故子工程的spring cloud组件的版本号可以不用写。

二、搭建子模块

1、创建项目类型为maven的子工程
右键点击父工程zwh-springcloud,new→Module→maven→ArtifactId: user-service,Add as module to和parent均为父工程→next→Module name: user-service,Content root: C:\Users\miracle\IdeaProjects\springcloud_2020\zwh-springcloud\user-service→finish

 2、添加依赖

web工程至少要添加spring-boot-starter-web依赖

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
</dependency>

spring-boot-starter-web就是将web开发要使用的spring-web、spring-webmvc等坐标进行了“打包”,这样我们的工程只要引入spring-boot-starter-web起步依赖的坐标就可以进行web开发了。

 3、创建启动类

@SpringBootApplication
@MapperScan("com.zwhxpp.user.mapper")
@EnableDiscoveryClient
public class UserApplication {
    public static void main(String[] args) {
        SpringApplication.run(UserApplication.class, args);
    }
}

4、在配置文件application.yml中添加相关配置

server:
  port: ${port:9091}
spring:
  application:
      name: user-service
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/springcloud
    username: root
    password: 123456
mybatis:
  type-aliases-package: com.zwhxpp.user.pojo

 

posted on 2021-02-27 10:52  周文豪  阅读(400)  评论(0编辑  收藏  举报