本篇文章假设你已经熟悉了 JAVA、IDEA 操作、SpringMVC、SpringBoot 等基本操作,如果真的不熟悉也没关系,跟着敲下来,对于系统的认知和方向一定是很有利的。当然,教程难免有些错误和遗漏,欢迎大家指出,共同进步。
分布式集群,要解决的问题就是高并发、高容灾,而 SpringCloud 对于分布式集群有一整套的方案,本篇教程我们就从基本的 SpringBoot 项目开始,逐步的把我们的 Web 项目改造成完整的 SpringCloud 项目。
开发环境:
OS:macOS Big Sur 11.0.1
JDK: JDK1.8
IDE:IDEA 2019.1
首先,新建一个项目,这里我们先构建一个父项目,用来对子项目的Library
进行集中管理,采取这中方式进行项目搭建,对于我们项目的整体框架建立还是非常有用的
这里 Group
和 Artiface
根据自己的需求进行定义
因为这是一个父项目,所以无需引入任何的模块依赖,最基本的Web
也不需要,直接Next
即可
最后 Finish
创建好的项目如图所示,包含一些初始文件和目录,这里,我们只保留 pom.xml
cloudservice.iml
.gitignore
,其他的目录和文件全部移除
结果如图所示
这里补充一下,上面创建项目的时候,可以直接选择Maven POM
,这样创建出来的项目就不需要再进行多余的删除文件的操作了
接下来,修改一下 pom.xml
文件
首先移除<parent>
节点
添加如下配置,使其打包为pom
<packaging>pom</packaging>
复制代码
这里注意下,如果右下角弹出这个提示,直接点击Enable Auto-Import
,这样,我们对
pom.xml
文件进行修改的时候,就会自动更新
pom
依赖了
然后,添加对应的dependency
和
properties
,注意这里我们采用
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/> <!– lookup parent from repository –>-->
<!-- </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>
<version>2.4.1</version>
</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>
<configuration>
<fork>true</fork>
<addResources>true</addResources>
</configuration>
</plugin>
</plugins>
</build>
</project>
复制代码
修改完pom.xml
文件以后,我们点击右边的
Maven
标签,先
clean
,再
install
一下
如果一切进行顺利,就表示我们的父项目配置已经可以了,成功截图如下
评论