评论

收藏

[Java] SpringCloud学习笔记之SpringCloud搭建父工程的过程图解

编程语言 编程语言 发布于:2022-01-26 18:49 | 阅读数:341 | 评论:0

SpringCloud是分布式微服务架构的一站式解决方案,十多种微服务架构落地技术的集合体,俗称微服务全家桶,这篇文章主要介绍了SpringCloud学习笔记(一)搭建父工程,需要的朋友可以参考下
SpringCloud是分布式微服务架构的一站式解决方案,十多种微服务架构落地技术的集合体,俗称微服务全家桶
SpringCloud和SpringBoot版本选择
自2019年以后官方建议使用2.0以后的版本
官网地址
在官网的页首可以看到最新版本以及对应的springboot版本
DSC0000.png
DSC0001.png

在官网可以看到官方推荐的springcloud与springboot相对应的版本
DSC0002.png

更详细的版本选择
版本info
DSC0003.png

其中可以看到官方推荐的版本选择
目前选择以下版本
DSC0004.png


相关技术选型
DSC0005.png


创建工程
铁则:约定>配置>编码
创建父工程
New Project
DSC0006.png

新建maven工程
字符编码
在setting中设置
DSC0007.png

使注解生效
DSC0008.png

选择java编译版本为java8
DSC0009.png

配置父工程的pom文件
指定打包方式为pom
DSC00010.png

删除自带的src文件夹
DSC00011.png

更换pom.xml文件中的部分内容
<!-- 统一管理jar包版本 -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<junit.version>4.12</junit.version>
<log4j.version>1.2.17</log4j.version>
<lombok.version>1.16.18</lombok.version>
<mysql.version>5.1.47</mysql.version>
<druid.version>1.1.16</druid.version>
<mybatis.spring.boot.version>1.3.0</mybatis.spring.boot.version>
</properties>
<!--  使用dependencyManagement,父工程指定,子工程不用再指定-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
</dependency>
<!--spring boot 2.2.2-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.2.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--spring cloud Hoxton.SR1-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--spring cloud 阿里巴巴-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
<scope>runtime</scope>
</dependency>
<!-- druid-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>${druid.version}</version>
</dependency>
<!--mybatis-->
<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>${mybatis.spring.boot.version}</version>
</dependency>
<!--junit-->
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>${junit.version}</version>
</dependency>
<!--log4j-->
<dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
  <version>${log4j.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
  <plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
  <fork>true</fork>
  <addResources>true</addResources>
</configuration>
  </plugin>
</plugins>
</build>
更换部分如下
DSC00012.png

为了防止打包时因为test出错而卡住,需要skip maven生命周期中的test
DSC00013.png

dependencyManagement 和dependencies的区别

  • dependencyManagement 通常在父工程中声明,用于声明依赖的version和scope,而不会实际引入包
  • dependencies通常在子工程中声明,会实际引入包,如果引入了父工程声明过的包,则声明时不再需要指定版本
到此这篇关于SpringCloud学习笔记(一)搭建父工程的文章就介绍到这了,更多相关SpringCloud搭建父工程内容请搜索CodeAE代码之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持CodeAE代码之家!
原文链接:https://www.cnblogs.com/poifa/p/15361673.html

关注下面的标签,发现更多相似文章