SpringCloud微服务实战项目(二、搭建项目基础框架)

SpringCloud微服务实战项目(二、搭建项目基础框架)

  • 1. 创建父工程
    • 1)创建maven工程
    • 2)pom文件
    • 3) 完成样子
  • 2. 创建support父工程
    • 1) 注册中心eureka
    • 2) zuul服务
    • 3) 启动测试

1. 创建父工程

1)创建maven工程

创建maven工程,删除src文件夹。

2)pom文件

①设置打包方式为pom
②公共配置,设置utf-8字符集,spring-cloud版本号等
③继承spring boot父工程

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.broy</groupId>
    <artifactId>hrm-parent</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!--打包方式:pom-->
    <packaging>pom</packaging>

    <!--整个项目一些公共配置,字符集,jdk版本,SpringCloud版本-->
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <!--这个版本跟SpringBoot有对应关系,百度可查-->
        <spring-cloud.version>Finchley.SR1</spring-cloud.version>
    </properties>

    <!--继承SpringBoot父工程-->
    <parent>
        <groupId> org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.5.RELEASE</version>
    </parent>

    <!--统一管理版本-->
    <dependencyManagement>
        <dependencies>

        </dependencies>
    </dependencyManagement>

    <!--测试包所有模块都要的,放在最大的这个父工程里面-->
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <!--这个是自动加的,意思为只能在test测试文件夹下才能用,这里希望所有地方都用,所以注释掉
            <scope>test</scope>-->
        </dependency>
    </dependencies>
</project>

3) 完成样子

SpringCloud微服务实战项目(二、搭建项目基础框架)_第1张图片

2. 创建support父工程

①创建support父工程
②创建eureka服务
③创建zuul网关服务
④创建config配置中心服务
创建完成类似于这种,下面说单个服务
SpringCloud微服务实战项目(二、搭建项目基础框架)_第2张图片

1) 注册中心eureka

①创建注册中心服务
②pom文件导包

<dependencies>
        <!--eureka-server-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
        <!--web-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

③主类

/**
 * eureka注册中心的启动类
 *
 */
@SpringBootApplication //springboot的启动类
@EnableEurekaServer //开启eureka服务
public class AppEureka1010
{
    public static void main( String[] args )
    {
        SpringApplication.run(AppEureka1010.class);
    }
}

④配置文件

server:
  port: 1010
eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false #不允许EureakServer 注册给自己
    fetchRegistry: false #不要拉取服务的通信地址
    serviceUrl:  #注册中心的注册地址  http://localhost:1010/eureka/
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

启动试一下,启动后在浏览器地址栏输入localhost:1010进入注册中心界面
SpringCloud微服务实战项目(二、搭建项目基础框架)_第3张图片

2) zuul服务

①pom文件

<dependencies>
    <!--eureka-client-->
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
    <!--zuul-server-->
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
    </dependency>
    <!--web-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
  </dependencies>

②主类

/**
 * Zuul的主类
 *
 */
@SpringBootApplication
@EnableEurekaClient //不同,这里是开启eureka客户端
@EnableZuulServer //开启zuul服务
public class AppZuul1020
{
    public static void main( String[] args )
    {
        SpringApplication.run(AppZuul1020.class);
    }
}

③配置文件

eureka:
  client:
    serviceUrl: #注册中心的地址
      defaultZone: http://localhost:1010/eureka/
  instance:
    prefer-ip-address: true #使用ip注册到注册中心
    instance-id: zuul-server:1020
server:
  port: 1020
spring:
  application:
    name: zuul-server #服务的名字
zuul:
  prefix: "/hrm" #统一访问前缀
  ignored-services: "*" #不准以服务名的方式访问
  routes: #指定服务的访问路径(路由)
    system-server: "/system/**" #这里先加随便写一个系统服务路由

3) 启动测试

SpringCloud微服务实战项目(二、搭建项目基础框架)_第4张图片
zuul注册成功,其他的原理一样就不多说了

你可能感兴趣的:(SpringCloud)