idea搭建spring cloud项目-父子项目

一、父项目(tool)搭建

1、File->New->Project

2、选择maven,其他什么都不选择,直接next

3、选择存储位置、输入groupId和ArtifactId,点击Finish

4、删除src目录

5、修改pom.xml文件,加入下面的代码

<packaging>pom</packaging>
<description>
父工程 统一版本的控制 所有的工程都应该继承父工程
</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.2</version>
</parent>
<dependencies>
<!--fastjson-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.51</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
</dependencies>
<!--springcloud的版本控制-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2020.0.3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

6、父项目就搭建成功了,以后有公共的依赖可以放到父项目

二、子项目(spring-cloud-config)配置中心搭建

1、在父项目(tool)上右键,New->Module

2、选择Spring Initializr,点击Next

3、填写group、Artifact、选择java版本,Next

4、选择spring could config,勾选config server,Next

5、输入Module name,点击Finish

6、修改父项目pom.xml文件,加入子项目service-config-9000

<modules>
<module>service-config-9000</module>
</modules>

7、修改service-config-9000的pom.xml文件,删除不必要的东西,留下

<parent>
<groupId>com.tool.pc</groupId>
<artifactId>tool</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>

<artifactId>service-config-9000</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>service-config-9000</name>
<description>子项目spring-cloud-config</description>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
</dependencies>

8、在启动类加上@EnableConfigServer

9、将application.properties修改为application.yml,并加入如下内容

server:
  port: 9000 #服务端口
spring:
  application:
    name: service-config-9000 #应用名称
  cloud:
    config:
      server:
        native:
          search-locations: classpath:/other #本地的配置文件路径
  profiles:
    active: native #本地配置文件必须开启本地环境

这里使用本地的配置文件,也可以修改为使用git地址的 在resources目录下新建一个文件夹other,用于统一存放配置文件

配置中心config就搭建好了

三、子项目注册中心(eureka)搭建

1、在父项目(tool)上右键,New->Module

2、选择Spring Initializr,点击Next

3、填写group、Artifact、选择java版本,Next

4、选择spring cloud discovery,勾选eureka server,点击Next

5、默认,点击Finish

6、修改父项目pom.xml文件,加入module(service-eureka-9001)

7、修改eureka的pom.xml,删除无用的东西

<parent>
<groupId>com.tool.pc</groupId>
<artifactId>tool</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>service-eureka-9000</artifactId>
<description>eureka注册中心</description>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>

8、在配置中心config下的other文件夹新建两个yml文件,如下

service-eureka-config.yml,注册中心的配置文件

server:
  port: 9001

spring:
  profiles: dev
  application:
    name: service-eureka-9001
    
eureka:
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:   #
      defaultZone: http://127.0.0.1:9001/eureka/

common-config.yml,公共的配置文件,可以配置数据库地址、eureka服务地址等

eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:9001/eureka
  instance:
    prefer-ip-address: true

9、在注册中心新建bootstrap.yml文件

spring:
cloud:
config:
name: common-config,service-eureka-config
profile: dev #这个可以通过参数控制版本,也可以写死多个值,用逗号分隔
uri: http://127.0.0.1:9000/
label: dev

10、在启动类加上@EnableEurekaServer

四、子项目服务网关(gateway)搭建

1、在父项目(tool)上右键,New->Module

2、选择Spring Initializr,点击Next

3、填写group、Artifact、选择java版本,Next

4、选择spring cloud routing,勾选gateway

5、默认

6、在父项目加入module

7、修改gateway的pom.xml文件

    <parent>
        <groupId>com.tool.pc</groupId>
        <artifactId>tool</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    

    <artifactId>service-gateway-9002</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>service-gateway-9002</name>
    <description>服务网关</description>
    
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        
    </dependencies>

8、在配置中心(config)下新建文件service-gateway-config.yml

server:
  port: 9002

spring:
  profiles: dev
  application:
    name: service-gateway-9002

9、在gateway下新建文件bootstrap.yml

spring:
cloud:
config:
name: common-config,service-gateway-config
profile: dev #这个可以通过参数控制版本,也可以写死多个值,用逗号分隔
uri: http://127.0.0.1:9000/
label: dev

10、在启动类加上@EnableEurekaClient

五、启动运行

依次启动config、eureka、gateway,看gateway是否注册到eureka

感谢大家的阅读!希望本文对大家有所帮助