SpringCloud从入门到精通01---父项目创建

2021-01-07  本文已影响0人  Felix_
本篇文章假设你已经熟悉了JAVA、IDEA操作、SpringMVC、SpringBoot等基本操作,如果真的不熟悉也没关系,跟着敲下来,对于系统的认知和方向一定是很有利的。当然,教程难免有些错误和遗漏,欢迎大家指出,共同进步。

分布式集群,要解决的问题就是高并发、高容灾,而SpringCloud对于分布式集群有一整套的方案,本篇教程我们就从基本的SpringBoot项目开始,逐步的把我们的Web项目改造成完整的SpringCloud项目。

开发环境:
OS:macOS Big Sur 11.0.1
JDK: JDK1.8
IDE:IDEA 2019.1

首先,新建一个项目,这里我们先构建一个父项目,用来对子项目的Library进行集中管理,采取这中方式进行项目搭建,对于我们项目的整体框架建立还是非常有用的

image.png
这里GroupArtiface根据自己的需求进行定义
image.png
因为这是一个父项目,所以无需引入任何的模块依赖,最基本的 Web也不需要,直接 Next即可
image.png
最后 Finish即可
image.png
创建好的项目如图所示,包含一些初始文件和目录,这里,我们只保留 pom.xml,cloudservice.iml,.gitignore,其他的目录和文件全部移除
image.png
结果如图所示
image.png

这里补充一下,上面创建项目的时候,可以直接选择Maven POM,这样创建出来的项目就不需要再进行多余的删除文件的操作了

image.png

接下来,修改一下 pom.xml文件
首先移除<parent>节点

image.png
添加如下配置,使其打包为pom
<packaging>pom</packaging>
image.png
这里注意下,如果右下角弹出这个提示,直接点击Enable Auto-Import,这样,我们对 pom.xml文件进行修改的时候,就会自动更新 pom依赖了
image.png
然后,添加对应的dependencyproperties,注意这里我们采用dependencyManagement来进行子项目的第三方库的版本管理,这里,我直接贴最终的配置
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
<!--    <parent>-->
<!--        <groupId>org.springframework.boot</groupId>-->
<!--        <artifactId>spring-boot-starter-parent</artifactId>-->
<!--        <version>2.4.1</version>-->
<!--        <relativePath/> &lt;!&ndash; lookup parent from repository &ndash;&gt;-->
<!--    </parent>-->
    <groupId>com.felix</groupId>
    <artifactId>cloudservice</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>cloudservice</name>
    <description>Demo project for Spring Boot</description>
    <packaging>pom</packaging>

    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <druid.version>1.1.10</druid.version>
        <hutool.version>4.5.7</hutool.version>
        <mybatis-generator.version>1.3.7</mybatis-generator.version>
        <mybatis.version>3.4.6</mybatis.version>
        <mysql-connector.version>8.0.15</mysql-connector.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.4.1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Hoxton.SR8</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <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>
            <!--devtools-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
            </dependency>
            <!--MyBatis分页插件starter-->
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</artifactId>
                <version>${pagehelper-starter.version}</version>
            </dependency>
            <!--MyBatis分页插件-->
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper</artifactId>
                <version>${pagehelper.version}</version>
            </dependency>
            <!--集成druid连接池-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>${druid.version}</version>
            </dependency>
            <!--Hutool Java工具包-->
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-all</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <!-- MyBatis 生成器 -->
            <dependency>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-core</artifactId>
                <version>${mybatis-generator.version}</version>
            </dependency>
            <!-- MyBatis-->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>${mybatis.version}</version>
            </dependency>
            <!--Mysql数据库驱动-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql-connector.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

修改完pom.xml文件以后,我们点击右边的Maven标签,先clean,再install一下

image.png
如果一切进行顺利,就表示我们的父项目配置已经可以了,成功截图如下
image.png
上一篇 下一篇

猜你喜欢

热点阅读