idea快速搭建spring cloud-注册中心与注册
Posted IT高飞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了idea快速搭建spring cloud-注册中心与注册相关的知识,希望对你有一定的参考价值。
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: 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,args); } }
启动:
这就表示注册中心启动成功
下面创建服务注册到服务中心
创建一个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,args); } }
启动:
成功!
下几篇会说一下spring cloud中使用的组件
以上是关于idea快速搭建spring cloud-注册中心与注册的主要内容,如果未能解决你的问题,请参考以下文章
使用 IDEA 从 0 开始搭建 Spring Cloud 微服务