SpringCloud 虽然可以用多模块化的方式来创建,但是,SpirngCloud本身就是为分布式而准备的,如果使用多模块的话,那就是一个项目,偏离了分布式的概念。所以工程上还是常用多项目的方式,这样才可以分开布署各个组件。

一、创建项目

这次不同,我们要创建的是空项目,换句话说,就是一个文件夹,里面在放单独的项目

IDEA 创建 SpringCloud项目-多项目方式_Cloud

 

 

正常填写,Project name 相当于文件夹名称

IDEA 创建 SpringCloud项目-多项目方式_Cloud_02

 

 

二、添加模块

如果有自动弹出添加模块的框的话,直接使用就好,如果没有弹出。
File - Project Structure ...

然后选 Modules + New Module

IDEA 创建 SpringCloud项目-多项目方式_Server_03

 

 

 

然后又到了这个熟悉的界面,正常选 Spring Initalizr

IDEA 创建 SpringCloud项目-多项目方式_Server_04

 

 

 

常添写 Project Metadata 然后下一步就好

IDEA 创建 SpringCloud项目-多项目方式_Cloud_05

 

 

然后同样是选 Spring Cloud Discovery - Eureka Server

IDEA 创建 SpringCloud项目-多项目方式_多项目_06

 

IDEA 创建 SpringCloud项目-多项目方式_Cloud_07

 

 

回到这个界面后点 OK

IDEA 创建 SpringCloud项目-多项目方式_Server_08

 

 

然后就能在左侧 Project 框中看到新添加的模块了

IDEA 创建 SpringCloud项目-多项目方式_Cloud_09

 

 

 

在模块下的 resources/ application.properties 文件重命名

IDEA 创建 SpringCloud项目-多项目方式_Cloud_10

 

 

然后打开 application.yml 输入


#服务端口号 server: port: 8100 #eureka 基本信息配置 eureka: instance: #注册到eurekaip地址(注册中心IP) hostname: 127.0.0.1 client: serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #表示是否需要将自己注册到Eureka Server上(默认为true),本次位单机部署,不需要设置为true;但是注册中心集群时候必须为true;因为集群时,需要提供本Eureka Server可发现性;(即是否注册自己的开关) register-with-eureka: false #表示是否从Eureka Server获取注册信息(默认为true);这是一个单点的 Eureka Server,不需要同步其他节点的数据,可以设为false fetch-registry: false


v

IDEA 创建 SpringCloud项目-多项目方式_Cloud_11

 

 

 

打开启动类启动

IDEA 创建 SpringCloud项目-多项目方式_Server_12

 

 

查看日志,8100端口已经启动 

IDEA 创建 SpringCloud项目-多项目方式_Server_13

 

 

访问

​​http://localhost:8100​​

IDEA 创建 SpringCloud项目-多项目方式_Cloud_14

 

多项目化,这里面每个模块都是一个可单独拿出去独立运行的项目,所以部署在生产环境里时自然要方便的多。