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

 更新时间:2021年10月02日 12:15:20   作者:一个蒟蒻的博客  
SpringCloud是分布式微服务架构的一站式解决方案,十多种微服务架构落地技术的集合体,俗称微服务全家桶,这篇文章主要介绍了SpringCloud学习笔记(一)搭建父工程,需要的朋友可以参考下

SpringCloud是分布式微服务架构的一站式解决方案,十多种微服务架构落地技术的集合体,俗称微服务全家桶

SpringCloud和SpringBoot版本选择

自2019年以后官方建议使用2.0以后的版本
官网地址
在官网的页首可以看到最新版本以及对应的springboot版本


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

更详细的版本选择

版本info

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

相关技术选型

创建工程

铁则:约定>配置>编码

创建父工程

New Project

新建maven工程

字符编码
在setting中设置

使注解生效

选择java编译版本为java8

配置父工程的pom文件

指定打包方式为pom

删除自带的src文件夹

更换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>

更换部分如下

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

dependencyManagement 和dependencies的区别

  • dependencyManagement 通常在父工程中声明,用于声明依赖的version和scope,而不会实际引入包
  • dependencies通常在子工程中声明,会实际引入包,如果引入了父工程声明过的包,则声明时不再需要指定版本

到此这篇关于SpringCloud学习笔记(一)搭建父工程的文章就介绍到这了,更多相关SpringCloud搭建父工程内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java关于list集合做删除操作时的坑及解决

    java关于list集合做删除操作时的坑及解决

    这篇文章主要介绍了java关于list集合做删除操作时的坑及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • MyBatis中动态SQL语句@Provider的用法

    MyBatis中动态SQL语句@Provider的用法

    本文主要介绍了MyBatis中动态SQL语句@Provider的用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 一篇文章弄懂Java8中的时间处理

    一篇文章弄懂Java8中的时间处理

    Java8以前Java处理日期、日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限,下面这篇文章主要给大家介绍了关于Java8中时间处理的相关资料,需要的朋友可以参考下
    2022-01-01
  • Spring 单元测试中如何进行 mock的实现

    Spring 单元测试中如何进行 mock的实现

    这篇文章主要介绍了Spring 单元测试中如何进行 mock的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Java Map.get()返回指定键所映射的值

    Java Map.get()返回指定键所映射的值

    这篇文章主要介绍了Java Map.get()返回指定键所映射的值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • SpringMVC体系分层模式原理图解

    SpringMVC体系分层模式原理图解

    这篇文章主要介绍了SpringMVC体系分层模式原理图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • JavaWeb之监听器案例讲解

    JavaWeb之监听器案例讲解

    这篇文章主要介绍了JavaWeb之监听器案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Java如何将若干时间区间进行合并的方法步骤

    Java如何将若干时间区间进行合并的方法步骤

    这篇文章主要介绍了Java如何将若干时间区间进行合并的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Spring Boot中使用Spring-data-jpa的配置方法详解

    Spring Boot中使用Spring-data-jpa的配置方法详解

    今天小编就为大家分享一篇关于Spring Boot中使用Spring-data-jpa的配置方法详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 从HelloWorld和文档注释开始入门Java编程

    从HelloWorld和文档注释开始入门Java编程

    这篇文章主要介绍了从HelloWorld和文档注释开始入门Java编程,涉及到Javadoc工具的使用,需要的朋友可以参考下
    2015-10-10

最新评论