首页 > 编程 > Java > 正文

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

2019-11-26 09:48:45
字体:
来源:转载
供稿:网友

spring cloud快速搭建

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

首先我们使用gradle来创建:

选择JDK以及勾选Java,然后下一步

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

选择我们本地的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项目来创建

在build中添加eureka-server依赖

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

接下来在application.yml中配置

server: port: 8000spring: 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);  }}

启动:

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

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

创建一个gradle module 项目

在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);  }}

启动:

成功!

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表