欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

idea快速搭建spring cloud注册中心与注册的方法

程序员文章站 2024-02-21 12:24:46
spring cloud快速搭建 spring cloud是一个微服务框架,它基于spring boot, spring cloud提供的全套的分布式系统解决方...

spring cloud快速搭建

spring cloud是一个微服务框架,它基于spring boot, spring cloud提供的全套的分布式系统解决方案 。 

首先我们使用gradle来创建:

idea快速搭建spring cloud注册中心与注册的方法

选择jdk以及勾选java,然后下一步

idea快速搭建spring cloud注册中心与注册的方法

起包名已经项目名,下一步:

idea快速搭建spring cloud注册中心与注册的方法

选择我们本地的gradle包,一直下一步,点击build.gradle并添加我们的依赖:

group 'com.gaofei'
version '1.0-snapshot'

//gradle使用的插件
apply plugin: 'java'
//gradle使用spring-boot打包更方便
apply plugin: 'spring-boot'


//jdk的版本号
sourcecompatibility = 1.8


//本项目的
dependencies {
  testcompile group: 'junit', name: 'junit', version: '4.12'
}

//由于本次创建gradle未出现src,由以下代码来解决
task "create-dirs" << {
  sourcesets*.java.srcdirs*.each {
    it.mkdirs()
  }
  sourcscts*.resources.srcdirs*.each{
    it.midirs()
  }
}


//编译构建时的配置
buildscript {
  ext{
    springbootversion='1.5.10.release' //springbootversion是自己定义的变量 里面写的是springboot插件的版本
  }
  repositories {
    maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    jcenter()
    mavencentral()
    maven{ url "http://repo.spring.io/snapshot" }
    maven{ url "http://repo.spring.io/milestone" }
    maven{ url "http://repo.spring.io/release" }
    maven{ url 'http://repo.spring.io/plugins-snapshot' }
  }
  dependencies{
    classpath("org.springframework.boot:spring-boot-gradle-plugin:${springbootversion}")//指的是springboot的一个插件
  }
}



//统一所有项目的配置 就是对所有的模块进行统一配置 所有以后的模块都不用再配置
allprojects {

  group 'com.gaofei' //分组
  version '1.0-snapshot' //版本号

  ext{
    springcloudversion='edgware.sr2'
  }
  //所有项目都会引用的阿里云里的maven
  repositories {
    maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    jcenter()
    mavencentral()
    maven{ url "http://repo.spring.io/snapshot" }
    maven{ url "http://repo.spring.io/milestone" }
    maven{ url "http://repo.spring.io/release" }
    maven{ url 'http://repo.spring.io/plugins-snapshot' }
  }
}

//统一所有子项目的配置
subprojects {
  apply plugin: 'java'
  apply plugin: 'idea'
  apply plugin: 'spring-boot'

  dependencies {
    compile('org.springframework.boot:spring-boot-starter-web'){
      //使用undertow来代替tomacat
      exclude module:"spring-boot-starter-tomcat"
    }
    //替代tomcat
    compile 'org.springframework.boot:spring-boot-starter-undertow'
    //健康检查
    compile 'org.springframework.boot:spring-boot-starter-actuator'
    dependencies {
      testcompile group: 'junit', name: 'junit', version: '4.12'
    }
  }
  //版本控制插件
  dependencymanagement{
    imports{
      mavenbom "org.springframework.cloud:spring-cloud-dependencies:${springcloudversion}"
    }
  }

}

通过注释可以看到各个代码块的作用,这里我们是用阿里云的仓库

接下来我们开始建eureka注册中心,通过new->module再建gradle项目来创建

idea快速搭建spring cloud注册中心与注册的方法

在build中添加eureka-server依赖

//表示自己是一个服务器
  compile 'org.springframework.cloud:spring-cloud-starter-eureka-server'

接下来在application.yml中配置

server:
 port: 8000
spring:
 application:
  name: register-center #起个名字
eureka:
 client:
  register-with-eureka: false #启动时不注册表明自己是一个注册中心
  fetch-registry: false

启动类

@springbootapplication
@enableeurekaserver//表明自己是注册中心
public class registercenterprovider {
  public static void main(string[] args) {

    springapplication.run(registercenterprovider.class);
  }
}

启动:

idea快速搭建spring cloud注册中心与注册的方法

这就表示注册中心启动成功

下面创建服务注册到服务中心

创建一个gradle module 项目

idea快速搭建spring cloud注册中心与注册的方法

在build.gradle中添加thymeleaf组件,eureka客户端组件的依赖

//thymeleaf组件
  compile 'org.springframework.boot:spring-boot-starter-thymeleaf'
  //eureka客户端组件
  compile 'org.springframework.cloud:spring-cloud-starter-eureka'

在application.yml中配置:

server:
 port: 8001 
spring:
 application:
  name: project-shopping-mall #注册在注册中心的名字,它会进行键值对映射url
 thymeleaf:
  cache: false #关闭缓存
eureka:
 client:
  service-url:
   defaultzone: http://localhost:8000/eureka/ #注册到注册中心
 instance:
  prefer-ip-address: true #用两种方式进行注册,一种是使用主机名注册,一种是使用ip地址进行注册,这里使用ip地址进行注册

启动类:

@springbootapplication
@enablediscoveryclient //表示eureka客户端
public class shoppingmallprovider {
  public static void main(string[] args) {
    springapplication.run(shoppingmallprovider.class);
  }
}

启动:

idea快速搭建spring cloud注册中心与注册的方法

成功!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。