一、版本的选择
1.通过上面官网发现,Boot官方强烈建议你升级到2.X以上版本
2.总体环境版本
思考1:boot版已经到2.2.4为最新,为什么选2.2.2?官网有介绍
只用boot,直接用最新的版本,同时用boot和cloud,需要照顾cloud,由cloud决定boot版本,由官网可见:
思考2:SpringCloud和SpringBoot版本对应关系是什么?
二、关于Cloud各种组件的停更/升级/替换
1.由停更引发的“升级惨案”
停更不停用:被动修复bugs,不再接受合并请求,不再发布新版本
以前的的SpringCloud架构图:
现在的架构图:
参考资料见官网:
springcloud:
https://cloud.spring.io/spring-cloud-static/Hoxton.SR1/reference/htmlsingle/
中文文档:
https://www.bookstack.cn/read/spring-cloud-docs/docs-index.md
springBoot官网:
https://docs.spring.io/spring-boot/docs/2.2.2.RELEASE/reference/htmlsingle/
三、微服务架构编码构建
牢记一点:约定>配置>编码
1.新建工程
2.设置字符编码
3.设置注解生效
4.Java版本选择8
5.File Type过滤
6.导入父工程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>
7.解决maven下载不了jar的问题参考这个:
https://blog.youkuaiyun.com/HeyWeCome/article/details/104543411
8.maven的deparentManager的作用:
9.maven中跳过单元测试,点击该图标即可跳过单元测试
10.父工程创建完成执行mvn:install将父工程发布到仓库方便子工程继承
11.热部署Devtools
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
下一段配置粘贴到父工程的pom中
<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>
12.开启自动编译
Update the value of
重启IDEA即可!!!