SpringCloud-2.0(3. SpringCloud 环境搭建)

Posted ABin-阿斌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud-2.0(3. SpringCloud 环境搭建)相关的知识,希望对你有一定的参考价值。

我是 ABin-阿斌:写一生代码,创一世佳话,筑一揽芳华。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。
在这里插入图片描述

上一篇 :2. Cloud 组件说明

下一篇 :4. Rest工程构建

1 . 搭建父工程

1. 新建 Maven 项目

2. 选择 site 架构

3. 输入项目名,并选择 3.5 以上版本的 Maven

4. Finish,等待配置 Maven 环境

5. 修改字符编码

6. 注解激活生效

7. 配置 Java 编译版本

8. File Type过滤

  • 过滤掉项目目录中一些用不到的文件,以免显得太乱

  • 不做也无所谓

    过滤条件:

      *.hprof;*.idea;*.iml;*.pyc;*.pyo;*.rbc;*.yarb;*~;.DS_Store;.git;.hg;.svn;CVS;__pycache__;_svn;vssver.scc;vssver2.scc;
    
    

9. 删除父工程的 src 目录

2 . 配置父工程的 POM 文件

  1. 修改打包方式为 POM

  2. 添加 pom 依赖,进行版本控制

    <!-- 统一管理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>
    
    <!-- 子模块继承之后,提供作用:锁定版本+子modlue不用写groupId和version  -->
    <dependencyManagement>
        <dependencies>
            <!--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 alibaba 2.1.0.RELEASE-->
            <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>
            
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>${druid.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>${mybatis.spring.boot.version}</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
            </dependency>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
                <optional>true</optional>
            </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>
    
    
  3. 补充-1:dependencyManagement 和 dependencies 的关系:

    • 只有在父项目中才使用 dependencyManagement,通过这个标签来实现对整个项目中的依赖的版本号的管理,这样子项目就可以不声明依赖的版本

    • 如果整个项目需要更换依赖的版本,只需要在父项目的 POM 文件中修改即可,它的子项目的版本号会跟着改变

    • 如果子项目想要使用和父项目不一样的版本,只需要在自己的 POM 文件中声明版本号即可

    • dependencyManagement 不会正真引入依赖,只是单纯的做一个版本的控制

    • 子项目需要正真引入依赖就必须要使用 dependencies 声明,只是可以不需要声明版本号

  4. 补充-2 :跳过单元测试

以上是关于SpringCloud-2.0(3. SpringCloud 环境搭建)的主要内容,如果未能解决你的问题,请参考以下文章

SpringCloud-2.0-周阳(13. 分布式配置中心 - SpringCloud Config)

SpringCloud-2.0 (9. 负载均衡 - OpenFeign)

SpringCloud-2.0:(10. 服务降级 - Hystrix - 引出问题)

SpringCloud-2.0-周阳(25. 简述 Seata 的原理)

SpringCloud-2.0:(2. Cloud相关组件介绍)

SpringCloud-2.0-周阳(22. 流量监控 - Sentinel)