随笔 - 755  文章 - 0 评论 - 33 阅读 - 136万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

一、父工程搭建

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   周文豪  阅读(410)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示