SpringCloud--从零开始搭建微服务基础环境入门教程【一】

前言
本篇博文是关于SpringCloud–从零开始搭建微服务基础环境入门教程【一】,希望你能够喜欢

个人主页:晨犀主页
个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力

欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看
如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦

文章目录

  • 微服务基础环境搭建【一】
    • 创建父工程,用于聚合其它微服务模块
      • 实现步骤
        • 创建父项目, 作为聚合其它微服务模块
        • 项目设置
        • 删除src, 保留一个纯净环境
        • 配置父工程pom.xml, 作为聚合其它模块
        • 注意事项和细节
          • Maven 的dependencyManagement 说明

微服务基础环境搭建【一】

创建父工程,用于聚合其它微服务模块

实现步骤

创建父项目, 作为聚合其它微服务模块

1、说明:我们先创建一个父项目, 该父项目会去管理多个微服务模块(module), 如图:

SpringCloud--从零开始搭建微服务基础环境入门教程【一】_第1张图片

2、创建父项目步骤-- 灵活配置方式

SpringCloud--从零开始搭建微服务基础环境入门教程【一】_第2张图片

SpringCloud--从零开始搭建微服务基础环境入门教程【一】_第3张图片

SpringCloud--从零开始搭建微服务基础环境入门教程【一】_第4张图片

项目设置

SpringCloud--从零开始搭建微服务基础环境入门教程【一】_第5张图片

SpringCloud--从零开始搭建微服务基础环境入门教程【一】_第6张图片

删除src, 保留一个纯净环境

SpringCloud--从零开始搭建微服务基础环境入门教程【一】_第7张图片

配置父工程pom.xml, 作为聚合其它模块

1、修改D:\nlc_springcloud_temp\e-commerce-center\pom.xml, 配置各个依赖版本…



<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0modelVersion>

    <groupId>com.nlc.springcloudgroupId>
    <artifactId>e-commerce-centerartifactId>
    <version>1.0-SNAPSHOTversion>
   
    
    <packaging>pompackaging>

    <name>e-commerce-centername>

    
    <properties>
        <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
        <maven.compiler.source>1.8maven.compiler.source>
        <maven.compiler.target>1.8maven.compiler.target>
        <junit.version>4.12junit.version>
        
        <log4j.version>2.17.2log4j.version>
        <lombok.version>1.18.20lombok.version>
        <mysql.version>5.1.47mysql.version>
        <druid.version>1.1.17druid.version>
        <mybatis.spring.boot.version>2.2.0mybatis.spring.boot.version>
    properties>

    
    <dependencyManagement>
        <dependencies>
            
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-dependenciesartifactId>
                <version>2.2.2.RELEASEversion>
                
                <type>pomtype>
                <scope>importscope>
            dependency>
            
            <dependency>
                <groupId>org.springframework.cloudgroupId>
                <artifactId>spring-cloud-dependenciesartifactId>
                <version>Hoxton.SR1version>
                <type>pomtype>
                <scope>importscope>
            dependency>
            
            <dependency>
                <groupId>com.alibaba.cloudgroupId>
                <artifactId>spring-cloud-alibaba-dependenciesartifactId>
                <version>2.1.0.RELEASEversion>
                <type>pomtype>
                <scope>importscope>
            dependency>

            
            <dependency>
                <groupId>mysqlgroupId>
                <artifactId>mysql-connector-javaartifactId>
                <version>${mysql.version}version>
            dependency>

            
            <dependency>
                <groupId>com.alibabagroupId>
                <artifactId>druidartifactId>
                <version>${druid.version}version>
            dependency>

            
            <dependency>
                <groupId>org.mybatis.spring.bootgroupId>
                <artifactId>mybatis-spring-boot-starterartifactId>
                <version>${mybatis.spring.boot.version}version>
            dependency>

            
            <dependency>
                <groupId>org.apache.logging.log4jgroupId>
                <artifactId>log4jartifactId>
                <version>${log4j.version}version>
            dependency>

            <dependency>
                <groupId>junitgroupId>
                <artifactId>junitartifactId>
                <version>${junit.version}version>
            dependency>

            <dependency>
                <groupId>org.projectlombokgroupId>
                <artifactId>lombokartifactId>
                <version>${lombok.version}version>
            dependency>
        dependencies>
    dependencyManagement>

project>

2、修改D:\my_springcloud_temp\e-commerce-center\pom.xml,删除不需要的配置节点


<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <artifactId>maven-clean-pluginartifactId>
                <version>3.1.0version>
            plugin>
            <plugin>
                <artifactId>maven-site-pluginartifactId>
                <version>3.7.1version>
            plugin>
            <plugin>
                <artifactId>maven-project-info-reports-pluginartifactId>
                <version>3.0.0version>
            plugin>
        plugins>
    pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.pluginsgroupId>
            <artifactId>maven-site-pluginartifactId>
            <configuration>
            	<locales>en,frlocales>
            configuration>
        plugin>
    plugins>
build>
 	<reporting>
        <plugins>
            <plugin>
            	<artifactId>maven-project-info-reports-pluginartifactId>
            plugin>
        plugins>
	reporting>   

注意事项和细节

Maven 的dependencyManagement 说明

1、Maven 使用dependencyManagement 元素来提供了一种管理依赖版本号的方式。通常在项目packaging 为POM, 中使用dependencvManadement 元素。

2、使用pom.xml 中的dependencyManagement 元素能让所有在子项目中引用一个依赖, Maven 会沿着父子层次向上走, 直到找到一个拥有dependencyManagement 元素的项目, 然后它就会使用这个dependencyManagement 元素中指定的版本号。

3、好处∶如果有多个子项目都引用同一样依赖,则可以避免在每个使用的子项目里都声明一个版本号,当升级或切换到另一个版本时,只需要在顶层父容器
里更新,而不需要分别在子项目的修改;另外如果某个子项目需要另外的一个版本,只需要声明version 就可。

4、dependencyManagement 里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。

SpringCloud--从零开始搭建微服务基础环境入门教程【一】_第8张图片

5、如果不在子项目中声明依赖,是不会从父项目中继承下来的; 只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version 和scope 都读取自父pom。

作用范围一览图

SpringCloud--从零开始搭建微服务基础环境入门教程【一】_第9张图片

6、如果子项目中指定了版本号,那么会使用子项目中指定的jar 版本。

热门专栏推荐
Thymeleaf快速入门及其注意事项

Spring Initailizr–快速入门–SpringBoot的选择

带你了解SpringBoot支持的复杂参数–自定义对象参数-自动封装

Rest 优雅的url请求处理风格及注意事项

文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论
希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力

你可能感兴趣的:(Spring,Cloud,spring,cloud,微服务,java)