目录
第一章 父项目搭建
前言
IDE工具使用IDEA,项目构建工具使用maven,版本控制工具为GIT,项目部署方式选择docker容器化部署。
关于springcloud的常见面试题参考下面这篇博客,在此感谢这位作者的无私分享!Spring Cloud 常见面试题总结(二)_多学习多思考-CSDN博客
一、配置maven
maven下载地址:https://maven.apache.org/download.cgi
1.下载maven并配置本地仓库和远程仓库
打开settings.xml配置文件
远程仓库地址使用阿里云的,国内速度比较快:http://maven.aliyun.com/nexus/content/groups/public/
配置本地仓库,不配置则默认为C盘下面的.m2文件夹,下面是我配置的路径
2.idea配置maven
下面截图中红框中的设置如果不指定则默认使用安装maven的settings.xml文件的配置。
二、新建父工程Project
1、new一个project项目
2、使用spring快速选项进行搭建
3、搭建完成后,删除不需要的文件
因为是父工程只进行公共依赖管理,所以src文件夹也是不需要的一并删除。
修正说明:.iml 有的文件每个导入IDEA的项目都会生成一个项目同名的 .iml文件 用于保存你对这个项目的配置 (删了程序重新导入后还会生成 但由于配置丢失可能会造成程序异常),建议保留。
删除后的样子为下图:
三、pom文件配置
1、dependencyManagement进行版本控制
外面套一层dependencyManagement标签进行声明,表示只声明依赖,并不实现引入。如果依赖范围指定为"import"则表示子项目不可以再自行定义依赖的版本,必须使用父工程指定的版本号。使用dependencyManagement可以统一管理项目依赖资源的版本号,确保应用的各个项目的依赖和版本一致,不用每个模块项目都弄一个版本号,不利于管理且容易导致版本混乱和版本冲突,当需要变更版本号的时候只需要在父类容器里更新,不需要任何一个子项目的修改;父工程使用dependencyManagement进行版本号管理后,子工程引入依赖时不再需要指定版本号,只需要指定groupId和artifactId即可,如下图举例所示:
由下图可以看见,父类并没有引入声明的jar包
2、dependencies配置公共依赖
通过dependencies引入所有子项目都需要的依赖,这样就不需要每个子项目再进行引入;
3、springcloud和springboot的版本选择
先选择稳定版本的springcloud,然后从官网进去进入springcloud的参考文档页面,头部分会说明搭配的springboot版本,下方举例为springcloud的Hoxton.SR12。Release Train Version表示火车版本发布方式。
第二章 Eureka注册中心集群搭建
前言
Eureka最多支持3个server实例的集群,多了的话也不会起作用。
微服务注册到Eureka Server集群时,是按照配置的顺序依次访问的,所以为了Eureka Server集群中的每一台server都能均衡分担压力,在众多的微服务中,建议配置文件中的注册中心url的server顺序尽量不要相同。
一、新建module:注册中心
1、new一个module
二、eureka配置
1、pom文件引入eureka-server依赖
<?xml version="1.0" encoding="