Spring Cloud学习笔记13——集成 Eureka Server

开发环境

  • JDK8+
  • Gradle4+
  • Spring Boot 2.0.0.M3
  • Spring Cloud Starter Netflix Eureka Server Finchley.M2

创建项目

新建项目文件夹:
在这里插入图片描述
hello-world项目中的源码文件复制粘贴到新项目文件夹中:
Spring Cloud学习笔记13——集成 Eureka Server_第1张图片

修改源码

修改build.gradle配置,修改Spring Boot版本、指定Spring Cloud版本、添加Eureka Server依赖、添加Spring Cloud依赖管理:

//buildscript代码块中脚本优先执行
buildscript {

    //ext用于定义动态属性
	ext {
		springBootVersion = '2.0.0.M3'
	}

    //使用了Maven的中央仓库及Spring自己的仓库(也可以指定其他仓库)
	repositories {
		//mavenCentral()
        maven{ url "https://repo.spring.io/snapshot" }
        maven{ url "https://repo.spring.io/milestone" }
        //阿里云镜像仓库
        maven{ url "http://maven.aliyun.com/nexus/content/groups/public/" }
	}

    //依赖关系
	dependencies {
        //classpath声明了在执行其余的脚本时,ClassLoader可以使用这些依赖项
		classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
	}
}

//使用插件
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

//指定了生成的编译文件的版本,默认是打成了jar包
group = 'com.study.spring.cloud'
version = '1.0.0'

//指定编译.java文件的JDK版本
sourceCompatibility = 1.8

//使用了Maven的中央仓库及Spring自己的仓库(也可以指定其他仓库)
repositories {
    //mavenCentral()
    maven{ url "https://repo.spring.io/snapshot" }
    maven{ url "https://repo.spring.io/milestone" }
    maven{ url "http://maven.aliyun.com/nexus/content/groups/public/" }
}

ext {
    springCloudVersion = 'Finchley.M2'
}

//依赖关系
dependencies {

    //Eureka Server
    compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-server')

    //该依赖用于测试阶段
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

//Spring Cloud依赖管理
dependencyManagement{
    imports{
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
    }
}

修改com.study.spring.cloud.weather包下的Application类,加入@EnableEurekaServer注解:

package com.study.spring.cloud.weather;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

/*
 * @SpringBootApplication注解声明Spring Boot应用
 * 作用等同于@Configuration, @EnableAutoConfiguration, @ComponentScan,
 * 简化Spring配置
*/
@SpringBootApplication
//启用Eureka Server
@EnableEurekaServer
//Application类一定要处于整个工程的根目录下,这样它才能根据配置去扫描子节点下的Spring的Bean
public class Application {

	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}
}

修改application.properties配置文件:

#服务启动端口
server.port=8761

#实例的主机名称
eureka.instance.hostname=localhost

#禁用客户端功能
eureka.client.register-with-eureka=false

#作为客户端的配置
eureka.client.fetch-registry=false

#服务的URL
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

#解决eureka管理页打开404报错
spring.freemarker.prefer-file-system-access=false

运行

运行应用:
Spring Cloud学习笔记13——集成 Eureka Server_第2张图片
运行结果如下:
Spring Cloud学习笔记13——集成 Eureka Server_第3张图片
访问http://localhost:8761页面,可以看到Eureka的管理页面:
Spring Cloud学习笔记13——集成 Eureka Server_第4张图片
Spring Cloud学习笔记13——集成 Eureka Server_第5张图片

你可能感兴趣的:(Spring,Cloud)