文档 计算
Spring Cloud(02)–搭建订单-支付微服务模块的父工程在上一篇Spring Cloud(01)–初识Sp

Spring Cloud(02)–搭建订单-支付微服务模块的父工程在上一篇Spring Cloud(01)–初识Sp

在上一篇Spring Cloud(01)——初识Spring Cloud,回顾微服务及微服务架构中,我们初步了解了什么是SpringCloud和微服务,下面我们来先搭建一个rest微服务模块:订单(服务提供者)—支付(服务消费者)模块的父工程。< /p> 1、新建父工程项目空间< /h2> 1、

Related articles

VPN使用常见问题-哈尔滨工业大学(深圳)网络与计算中心 如何下載/恢復Steam雲端存檔? 如何启动一个SpringCloud项目 【流亡黯道國際服 VPN】低 Ping 遊玩 PoE 國際服《2024》 Surfshark能看Netflix吗?2024年如何解锁Netflix

在上一篇Spring Cloud(01)——初识Spring Cloud,回顾微服务及微服务架构中,我们初步了解了什么是SpringCloud和微服务,下面我们来先搭建一个rest微服务模块:订单(服务提供者)—支付(服务消费者)模块的父工程。< /p>

1、新建父工程项目空间< /h2>

1、新建一个maven项目,注意选择自己的maven版本< /p>

Spring Cloud(02)–搭建订单-支付微服务模块的父工程在上一篇Spring Cloud(01)–初识Sp< /p>

2、设置字符集编码< /p>

Spring Cloud(02)–搭建订单-支付微服务模块的父工程在上一篇Spring Cloud(01)–初识Sp< /p>

3、注解激活生效< /p>

Spring Cloud(02)–搭建订单-支付微服务模块的父工程在上一篇Spring Cloud(01)–初识Sp< /p>

4、选择java版本为1.8< /p>

Spring Cloud(02)–搭建订单-支付微服务模块的父工程在上一篇Spring Cloud(01)–初识Sp< /p>

5、添加文件过滤File Types,选择不显示哪些文件(可选)< /p>

Spring Cloud(02)–搭建订单-支付微服务模块的父工程在上一篇Spring Cloud(01)–初识Sp< /p>

这里我添加了*.idea和 *.iml文件,再以后新建模块时,这两个文件将不会出现。< /p>

2、在父工程pom中添加依赖< /h2>


<packaging< /span>>< /span>pom</packaging< /span>>< /span>

<properties< /span>>< /span>
<project.build.sourceEncoding< /span>>< /span>UTF-8</project.build.sourceEncoding< /span>>< /span>
<maven.compiler.source< /span>>< /span>8</maven.compiler.source< /span>>< /span>
<maven.compiler.target< /span>>< /span>8</maven.compiler.target< /span>>< /span>
<junit.version< /span>>< /span>4.12</junit.version< /span>>< /span>
<lombok.version< /span>>< /span>1.18.20</lombok.version< /span>>< /span>
<log4j.version< /span>>< /span>1.2.12</log4j.version< /span>>< /span>
<mysql.version< /span>>< /span>5.1.47</mysql.version< /span>>< /span>
<druid.version< /span>>< /span>1.1.16</druid.version< /span>>< /span>
</properties< /span>>< /span>

<dependencyManagement< /span>>< /span>
<dependencie< /span>>< /span>

<dependency< /span>>< /span>
<groupId< /span>>< /span>org.springframework.boot</groupId< /span>>< /span>
<artifactId< /span>>< /span>spring-boot-dependencie</artifactId< /span>>< /span>
<version< /span>>< /span>2.2.2.RELEASE</version< /span>>< /span>
<type< /span>>< /span>pom</type< /span>>< /span>
<scope< /span>>< /span>import</scope< /span>>< /span>
</dependency< /span>>< /span>

<dependency< /span>>< /span>
<groupId< /span>>< /span>org.springframework.cloud</groupId< /span>>< /span>
<artifactId< /span>>< /span>spring-cloud-dependencie</artifactId< /span>>< /span>
<version< /span>>< /span>Hoxton.SR1</version< /span>>< /span>
<type< /span>>< /span>pom</type< /span>>< /span>
<scope< /span>>< /span>import</scope< /span>>< /span>
</dependency< /span>>< /span>

<dependency< /span>>< /span>
<groupId< /span>>< /span>com.alibaba.cloud</groupId< /span>>< /span>
<artifactId< /span>>< /span>spring-cloud-alibaba-dependencie</artifactId< /span>>< /span>
<version< /span>>< /span>2.1.0.RELEASE</version< /span>>< /span>
<type< /span>>< /span>pom</type< /span>>< /span>
<scope< /span>>< /span>import</scope< /span>>< /span>
</dependency< /span>>< /span>

<dependency< /span>>< /span>
<groupId< /span>>< /span>mysql</groupId< /span>>< /span>
<artifactId< /span>>< /span>mysql-connector-java</artifactId< /span>>< /span>
<version< /span>>< /span>${mysql.version}</version< /span>>< /span>
</dependency< /span>>< /span>
<dependency< /span>>< /span>
<groupId< /span>>< /span>com.alibaba</groupId< /span>>< /span>
<artifactId< /span>>< /span>druid</artifactId< /span>>< /span>
<version< /span>>< /span>$ { druid.version }</version< /span>>< /span>
</dependency< /span>>< /span>

<dependency< /span>>< /span>
<groupId< /span>>< /span>junit</groupId< /span>>< /span>
<artifactId< /span>>< /span>junit</artifactId< /span>>< /span>
<version< /span>>< /span>${junit.version}</version< /span>>< /span>
</dependency< /span>>< /span>
<dependency< /span>>< /span>
<groupId< /span>>< /span>org.projectlombok</groupId< /span>>< /span>
<artifactId< /span>>< /span>lombok</artifactId< /span>>< /span>
<version< /span>>< /span>${lombok.version}</version< /span>>< /span>
</dependency< /span>>< /span>
<dependency< /span>>< /span>
<groupId< /span>>< /span>log4j</groupId< /span>>< /span>
<artifactId< /span>>< /span>log4j</artifactId< /span>>< /span>
<version< /span>>< /span>${log4j.version}</version< /span>>< /span>
</dependency< /span>>< /span>
</dependencie< /span>>< /span>
</dependencyManagement< /span>>< /span>
< /code>< /pre>

3、Maven中DependencyManagement和Dependencies的区别< /h2>

dependencyManagement是Maven中用来管理依赖版本号的方式,通常会在一个组织或者项目的最顶层的父POM看到dependencyManagement元素。< /p>

使用pom.xml中的dependencyManagement元素能让所有子项目引用一个依赖而不用显示的列出版本号。如:< /p>

<dependencie< /span>>< /span>
</dependency< /span>>< /span>
<groupId< /span>>< /span>log4j</groupId< /span>>< /span>
<artifactId< /span>>< /span>log4j</artifactId< /span>>< /span>
</dependency< /span>>< /span>
</dependencie< /span>>< /span>
< /code>< /pre>

这样做的好处是:如果有的个子项目都引用同一样依赖,则可以避免在每个使用的子项目里都声明一个版本号,这样当想升级或切换到另一个版本时,只需要在顶层父工程里更新,而不需要一个一个子项目的修改;另外如果某个子项目需要另外的版本,只需要声明version即可。< /p>

注意:< /p>

  • dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖< /li>
  • 如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖,才会从父项目中继续该项,并且version和scope都读取子父pom。< /li>
  • 如果子项目中定义了版本号,那么会使用子项目中的版本。< /li>
    < /ul>