spring cloud快速搭建
spring cloud是一个微服务框架,它基于spring boot, spring cloud提供的全套的分布式系统解决方案 。
首先我们使用gradle来创建:
选择jdk以及勾选java,然后下一步
起包名已经项目名,下一步:
选择我们本地的gradle包,一直下一步,点击build.gradle并添加我们的依赖:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
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测试数据/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测试数据/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依赖
|
1 2 |
//表示自己是一个服务器 compile 'org.springframework.cloud:spring-cloud-starter-eureka-server' |
接下来在application.yml中配置
|
1 2 3 4 5 6 7 8 9 |
server: port: 8000 spring: application: name: register-center #起个名字 eureka: client: register-with-eureka: false #启动时不注册表明自己是一个注册中心 fetch-registry: false |
启动类
|
1 2 3 4 5 6 7 8 |
@springbootapplication @enableeurekaserver //表明自己是注册中心 public class registercenterprovider { public static void main(string[] args) {
springapplication.run(registercenterprovider. class ); } } |
启动:
这就表示注册中心启动成功
下面创建服务注册到服务中心
创建一个gradle module 项目
在build.gradle中添加thymeleaf组件,eureka客户端组件的依赖
|
1 2 3 4 |
//thymeleaf组件 compile 'org.springframework.boot:spring-boot-starter-thymeleaf' //eureka客户端组件 compile 'org.springframework.cloud:spring-cloud-starter-eureka' |
在application.yml中配置:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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地址进行注册 |
启动类:
|
1 2 3 4 5 6 7 |
@springbootapplication @enablediscoveryclient //表示eureka客户端 public class shoppingmallprovider { public static void main(string[] args) { springapplication.run(shoppingmallprovider. class ); } } |
启动:
成功!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
原文链接:http://HdhCmsTestcnblogs测试数据/itgaofei/p/9329375.html
查看更多关于idea快速搭建spring cloud注册中心与注册的方法的详细内容...