博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringCloud的学习记录(2)
阅读量:5042 次
发布时间:2019-06-12

本文共 5677 字,大约阅读时间需要 18 分钟。

这一章节主要讲如何搭建eureka-client项目.

在我们生成的Demo项目上右键点击New->Module->spring Initializr, 然后next, 填写GroupArtifact等信息,

这里Artifact填写eurekaclient, 再次next,

这里选择的Web下的webCloud Discovery下的Eureka Discovery.

最后在Module Name中填写eureka-client.

生成的pom.xml文件如下:

4.0.0
org.springframework.boot
spring-boot-starter-parent
2.1.3.RELEASE
com.xum
eureka-client
0.0.1-SNAPSHOT
eureka-client
Demo project for Spring Boot
UTF-8
UTF-8
1.8
Greenwich.RELEASE
org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
org.springframework.boot
spring-boot-starter-test
test
org.springframework.cloud
spring-cloud-dependencies
${spring-cloud.version}
pom
import
org.springframework.boot
spring-boot-maven-plugin
spring-milestones
Spring Milestones
https://repo.spring.io/milestone

然后在EurekaClientApplication上加@EnableEurekaClient注解:

package com.xum.eurekaclient;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.netflix.eureka.EnableEurekaClient;@EnableEurekaClient@SpringBootApplicationpublic class EurekaClientApplication {    public static void main(String[] args) {        SpringApplication.run(EurekaClientApplication.class, args);    }}

然后新建application.yml文件, 内容如下:

eureka:  client:    serviceUrl:      defaultZone: http://localhost:8761/eureka/    这里的defaultZone是上一章节的对应eureka-serverserver:  port: 8762spring:  application:    name: eureka-client

然后写一个controller去获取数据, 这里是获取git上的数据, 关于config-server的项目下一章节说

package com.xum.eurekaclient.controller;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframework.cloud.client.ServiceInstance;import org.springframework.cloud.client.discovery.DiscoveryClient;import org.springframework.cloud.context.config.annotation.RefreshScope;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;import java.lang.reflect.Method;import java.util.List;@RestController@RequestMapping(value = "/testone")public class TestOneController {    private static final Logger LOG = LoggerFactory.getLogger(TestOneController.class);    @Autowired    private DiscoveryClient discoveryClient;    @Value("${server.port}")    String port;    /* from git config */    @Value("${democonfigclient.message}")    String message;    /* from git config */    @Value("${foo}")    String foo;    @RequestMapping(value = "/test")    public String test(@RequestParam(value = "name", required = false, defaultValue = "testOneClient")String name) {        /*List
list = discoveryClient.getInstances("eureka-client"); LOG.info("discoveryClient.getServices().size() = " + discoveryClient.getServices().size()); for( String s : discoveryClient.getServices()){ List
serviceInstances = discoveryClient.getInstances(s); for(ServiceInstance si : serviceInstances){ LOG.info("services:" + s + ":getHost()=" + si.getHost()); LOG.info("services:" + s + ":getPort()=" + si.getPort()); LOG.info("services:" + s + ":getServiceId()=" + si.getServiceId()); LOG.info("services:" + s + ":getUri()=" + si.getUri()); } }*/ String info = "Hi " + name + ", this is EurekaClient, port is " + port; return info; } @RequestMapping(value = "/config", method = RequestMethod.GET) public String config() { String info = "port:" + port + ",message:" + message + ",foo:" + foo; return info; }}

最后通过Run DashBoard运行项目,

首先运行上一章节的eureka-server项目, 然后运行eureka-client的项目.

在浏览器上输入http://localhost:8761,显示如下: (我这里同时运行了config-server项目, 这个项目下一章节讲)

先在浏览器中输入http://localhost:8762/testone/test, 显示如下

port是eureka-client的端口

然后在浏览器中输入http://localhost:8762/testone/config, 显示如下

port是eureka-client的端口, message和foo是从git仓库中获取的, 是通过config-server项目获取的.

下一章节讲config-server项目的搭建.

转载于:https://www.cnblogs.com/xumBlog/p/10606576.html

你可能感兴趣的文章
(转)Intent的基本使用方法总结
查看>>
Mac 下的Chrome 按什么快捷键调出页面调试工具
查看>>
Windows Phone开发(24):启动器与选择器之发送短信
查看>>
JS截取字符串常用方法
查看>>
Google非官方的Text To Speech和Speech Recognition的API
查看>>
stdext - A C++ STL Extensions Libary
查看>>
Django 内建 中间件组件
查看>>
bootstrap-Table服务端分页,获取到的数据怎么再页面的表格里显示
查看>>
进程间通信系列 之 socket套接字及其实例
查看>>
天气预报插件
查看>>
Unity 游戏框架搭建 (十三) 无需继承的单例的模板
查看>>
模块与包
查看>>
mysql忘记root密码
查看>>
apache服务器中设置目录不可访问
查看>>
嵌入式Linux驱动学习之路(十)字符设备驱动-my_led
查看>>
【NOIP模拟】密码
查看>>
java容器---------手工实现Linkedlist 链表
查看>>
three.js 性能优化的几种方法
查看>>
《梦断代码》读书笔记(三)
查看>>
FreeMarker解析json数据
查看>>