SpringCloud学习之运行第一个Eureka程序
场景
关于Eureka
1.提供了Eureka服务端与客户端。
2.主要用于服务管理。
Eureka架构
构建第一个应用
1.建立服务器端。
2.建立服务提供者。
3.建立服务调用者。
实现
建立服务器端
打开eclipse,新建Maven Project--create a simple project
打开pom.xml,添加依赖
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.badao.cloud</groupId><artifactId>eureka-server</artifactId><version>0.0.1-SNAPSHOT</version><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Dalston.SR3</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka-server</artifactId></dependency></dependencies>
</project>
新建启动类
代码:
package com.badao.cloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication
@EnableEurekaServer
public class ServerApplication {public static void main(String[] args) throws Exception {SpringApplication.run(ServerApplication.class, args);}}
注:
@EnableEurekaServer注解是配置为服务端
在resource下新建配置文件application.yml
修改端口号并使其注册为服务器端。
server:port: 8761
eureka:client:register-with-eureka: falsefetch-registry: false
运行启动类效果:
建立服务提供者
打开eclipse,新建Maven Project--create a simple project
打开pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.bao.cloud</groupId><artifactId>eureka-provide</artifactId><version>0.0.1-SNAPSHOT</version><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Dalston.SR3</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency></dependencies>
</project>
新建启动类
package com.badao.cloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class ProvideApplication {public static void main(String[] args) throws Exception {SpringApplication.run(ProvideApplication.class, args);}}
新建实体类
package com.badao.cloud;public class Police {private Integer id;private String name;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
新建Controller
package com.badao.cloud;import org.apache.tomcat.util.http.fileupload.ParameterParser;
import org.springframework.http.MediaType;import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;@RestController
public class PoliceController {/*** 指定警员id出警* @param id* @return*/@RequestMapping(value="/call/{id}",method=RequestMethod.GET,produces=MediaType.APPLICATION_JSON_VALUE)public Police call(@PathVariable Integer id){Police police = new Police();police.setId(id);police.setName("警员"+id);return police;}
}
运行启动类,默认8080端口,打开浏览器输入:
http://localhost:8080/call/1
将服务提供者注册到服务器端
打开服务提供者的启动类添加注解:
@EnableEurekaClient
完整代码:
package com.badao.cloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;@SpringBootApplication
@EnableEurekaClient
public class ProvideApplication {public static void main(String[] args) throws Exception {SpringApplication.run(ProvideApplication.class, args);}}
在服务提供者项目下新建配置文件application.yml
spring:application:name: eureka-provide
eureka:client:serviceUrl:defaultZone: http://localhost:8761/eureka/
重新运行服务提供者的启动类和服务端的启动类
查看服务器端,已经成功注册:
新建服务调用者
打开eclipse,新建Maven Project--create a simple project
打开项目的pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.badao.cloud</groupId><artifactId>eureka-call</artifactId><version>0.0.1-SNAPSHOT</version><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Dalston.SR3</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-ribbon</artifactId></dependency></dependencies></project>
新建启动类
package com.badao.cloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;@SpringBootApplication
@EnableEurekaClient
public class CallApplication {public static void main(String[] args) throws Exception {SpringApplication.run(CallApplication.class, args);}}
新建Controller
package com.badao.cloud;import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.client.RestTemplate;@Controller
@Configuration
public class TestController {@Bean@LoadBalancedpublic RestTemplate getRestTemplate() {return new RestTemplate();}@GetMapping("/router")@ResponseBodypublic String router() {RestTemplate tpl = getRestTemplate();String json = tpl.getForObject("http://eureka-provide/call/1", String.class);return json;}}
新建配置文件application.yml
server:port: 8081
spring:application:name: eureka-call
eureka:client:serviceUrl:defaultZone: http://localhost:8761/eureka/
打开浏览器输入:
http://localhost:8081/router
源码下载
https://download.csdn.net/download/badao_liumang_qizhi/11206065
SpringCloud学习之运行第一个Eureka程序相关推荐
- Go:分布式学习利器(1) -- 开发环境搭建 + 运行第一个go程序
文章目录 为什么要学习 go 开发环境搭建 -- MAC 运行第一个go程序 go 函数的返回值设置 go 函数的命令行参数 为什么要学习 go 在如下几个应用场景的需求下产生了go: 超大规模分布式 ...
- Hadoop学习全程记录——在Eclipse中运行第一个MapReduce程序
网友分享,拿来共享一下 这是Hadoop学习全程记录第2篇,在这篇里我将介绍一下如何在Eclipse下写第一个MapReduce程序. 新说明一下我的开发环境: 操作系统:在windows下使用wub ...
- MyBatis学习笔记2 ——第一个MyBatis程序
MyBatis学习笔记2 --第一个MyBatis程序 参考教程B站狂神https://www.bilibili.com/video/BV1NE411Q7Nx 环境搭建 建立一个mybatis数据库用 ...
- Spark学习笔记1——第一个Spark程序:单词数统计
Spark学习笔记1--第一个Spark程序:单词数统计 笔记摘抄自 [美] Holden Karau 等著的<Spark快速大数据分析> 添加依赖 通过 Maven 添加 Spark-c ...
- C#.NET学习笔记2---C#.第一个C#程序
C#.NET学习笔记2---C#.第一个C#程序 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:__________以前的网站现在不弄了,抱歉 6.第一个 ...
- cmd 将文件夹下文件剪切到另外一个文件_手把手教你运行第一个 Java 程序,看不懂你来骂我!...
码字不易,对你有帮助 **点赞 /转发↪️/关注 ** 支持一下作者 微信搜公众号:不会编程的程序圆br/>看更多干货,获取第一时间更新 在运行第一个 java 程序之前,你需要先将 java ...
- 调试运行第一个xv6程序
原文可在调试运行第一个Xv6程序查看到,后续的更新将会更新到个人博客 Xv6 刚启动的时候处于 Machine Mode,完成基本配置工作后就会尽快跳转到 Supervisor Mode,在这个模式下 ...
- JDK下载、安装、运行第一个Java程序的过程以及javac不是内部或外部命令的解决办法
JDK下载.安装.运行第一个Java程序的过程以及javac不是内部或外部命令的解决办法 1.下载和安装JDK开发环境 下载地址:https://www.oracle.com/technetwork/ ...
- 强哥带你零基础学java-03运行第一个java程序
java是什么,java是一种编程语言的名字,在生活中,我们知道的有汉语,英语.运用汉语语法,我们可以写一篇文章.同样的道理,用java的语法,我们就可以写程序了. 那么现在的问题是,要如何来写呢?现 ...
最新文章
- 微信公众平台OAuth2.0授权
- Remove Linked List Elements
- C/C++ 中长度为0的数组
- js文件中加载其他js文件
- ipad UISplitViewController 导航视图控制器标题设置
- UNIX网络编程学习笔记(代码超详细解析)(持续更新)
- unity 2020 怎么写shader使其接受光照?_用Unity实现半条命Alyx中的液体物理效果
- linux服务端口加密,linux – 如何通过单个端口处理加密和未加密的http连接
- 高质量 Android 开发框架 LoonAndroid 详解
- div默认外边距是多少_CSS盒模型之内边距、边框、外边距 十九问(持续更新)...
- 移动端的click事件延迟触发的原理是什么?如何解决这个问题?
- Buck-Boost电路
- .Net Core的优势
- 基于昇腾AI异构计算架构CANN的通用目标检测与识别一站式方案初体验
- 干货分享 | B站SLO由失败转成功,B站SRE做对了什么?
- Centos7 出现xxx不在sudoers文件中的解决方案
- [DP]hdu5234
- ByteDance字节跳动张一鸣:如何阅读、如何了解自己、如何与人沟通沟通、如何安排时间、如何正确的看待别人意见、如何激励自己、如何写作、如何坚持锻炼身体、如何耐心?...
- Win10右下角小图标怎么叠起来?
- 计算机主机通电启动不了,电脑不通电,开机没反应?这里有问题!
热门文章
- jq定制上传按钮,选择文件就上传
- linux shell脚本写法,linux: 常用shell脚本写法
- ds1302模块 树莓派_(16)给树莓派B+ 安装一个实时时钟芯片DS1302
- python五子棋双人对弈_PyQt5实现五子棋游戏(人机对弈)
- 1、计算机网络之计算机之间的连接方式
- java dbtype_java 动态操作数据库
- stm32捕获占空比_基于STM32超声波避障小车
- nginx 转发慢_学习Nginx的正确姿势,多图详解助你更上一层楼!(干货收藏篇)...
- c 指定端口连接mysql_c++连接mysql(MYSQL C api使用)
- 逆向建模软件介绍_逆向技术在2代机修理中的应用