spring cloud eureka服務注冊和調用

SPRING INITIALIZR構建工程

spring boot 可通過SPRING INITIALIZR構建項目
訪問SPRING INITIALIZR官網,填寫項目相關信息后,生成項目。
圖片描述
將下載的項目解壓,打開idea,file-->new-->project from existing sources。
圖片描述
import project選擇maven項目,jdk選擇1.8或以上,一直next即可。
圖片描述

spring cloud server 提供服務注冊

1.修改pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.3.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.gyt</groupId><artifactId>helloworld.Eureka.server</artifactId><version>0.0.1-SNAPSHOT</version><name>helloworld.Eureka.server</name><description>Demo project for Spring Boot</description><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><!--eureka server --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka-server</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency><!-- spring boot test--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Dalston.RC1</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository></repositories></project>

2.通過SPRING INITIALIZR構建工程后,修改配置文件application.properties,我這里使用的是application.yml,兩者只在格式上存在差別。
圖片描述
3.啟動類application.java添加@EnableEurekaServer注解。

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

4.訪問http://localhost:8000/
圖片描述

spring cloud client 提供服務

1.同樣創建項目后,修改pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.3.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.gyt</groupId><artifactId>helloworld.eureka.client</artifactId><version>0.0.1-SNAPSHOT</version><name>helloworld.eureka.client</name><description>Demo project for Spring Boot</description><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Dalston.RC1</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository></repositories></project>

2.application.yml

eureka:client:serviceUrl:#server對應的地址defaultZone: http://localhost:8000/eureka/instance:hostname: localhost
server:port: 8089
spring:application:#應用名name: service-helloworld
ribbon:eureka:enabled: true

其中關于ribbon的學習來自于 https://www.jianshu.com/p/f86...
3.ApplicationClient.java

@SpringBootApplication
@EnableDiscoveryClient
public class ApplicationClient {public static void main(String[] args) {SpringApplication.run(ApplicationClient.class, args);}}

4.HelloController.java

@RestController
public class HelloController {@RequestMapping("/hello")public String index(@RequestParam String name) {return "hello "+name+",hahahaha!";}
}

5.訪問http://localhost:8089/hello?name=w
圖片描述
此時再看服務端,多了service-helloworld這個應用。
圖片描述

spring cloud consumer 使用服務

1.新建項目,修改pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.3.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.gyt</groupId><artifactId>helloworld.eureka.consumer</artifactId><version>0.0.1-SNAPSHOT</version><name>helloworld.eureka.consumer</name><description>Demo project for Spring Boot</description><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><!--eureka server --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka-server</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency><!-- spring boot test--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-feign</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Dalston.RC1</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository></repositories></project>

2.application.propertites【這里特意沒有用yml】

spring.application.name=spring-cloud-consumer
server.port=9001
eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/

3.ApplicationConsumer.java

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class ApplicationConsumer {public static void main(String[] args) {SpringApplication.run(ApplicationConsumer.class, args);}}

4.創建接口類,HelloTest.java

//這里的name指定客戶端的應用名
@FeignClient(name= "service-helloworld")
public interface HelloTest {//這里requestMapping與客戶端相同@RequestMapping(value = "/hello")public String hello(@RequestParam(value = "name") String name);
}

5.ConsumerController.java

@RestController
public class ConsumerController {@AutowiredHelloTest helloTest;@RequestMapping("/hello/{name}")public String index(@PathVariable("name") String name) {return helloTest.hello(name);}}

6.訪問http://localhost:9001/hello/w
圖片描述
此時,服務端存在兩個應用
圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/537290.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/537290.shtml
英文地址,請注明出處:http://en.pswp.cn/news/537290.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

去從事有門檻有積累的工作

現在社會的IT工作&#xff0c;一時風光無限&#xff0c;但是積累性不足。跟老外比較起來&#xff0c;國內的IT算是民工級別的。再加上&#xff0c;前些年的培訓機構&#xff0c;不斷的輸出水平很次但很能加班的「人才」進入這個行業&#xff0c;「劣幣驅逐良幣」的效果下&#…

打印工資條怎么做到每個人都有表頭明細_朋友說:能不能用python,幫我寫一個“制作工資條”的自動化程序?...

本文說明今天和一個朋友吃飯&#xff0c;她說我經常使用Excel制作工資條&#xff0c;但是每個月都要做一遍&#xff0c;你能不能用python寫一個代碼&#xff0c;能夠自動化完成這個工作。這當然可以啦&#xff0c;就是這么牛逼&#xff01;我們先來看看原始數據是什么樣子的。那…

自定義按鈕 圖片標題位置隨意放置

自定義按鈕UIControl 寫在前面 #圖標和文字在一起是開發難免的問題&#xff0c;系統的按鈕默認是圖片居左的文字居右的&#xff0c; 且圖片和文字的距離不好調整&#xff0c;圖片的位置更是讓人頭疼&#xff0c; 故在閑暇之余封裝了一個控件。 復制代碼所用到知識的 # 1、蘋果系…

做優化的數據庫工程師請參考!CynosDB的計算層設計優化揭秘

本文由云社區發表本文作者&#xff1a;孫旭&#xff0c;騰訊數據庫開發工程師&#xff0c;9年數據庫內核開發經驗&#xff1b;熟悉數據庫查詢處理&#xff0c;并發控制&#xff0c;日志以及存儲系統&#xff1b;熟悉PostgreSQL&#xff08;Greenplum&#xff0c;PGXC等&#xf…

netty發送數據_看完這篇還不清楚Netty的內存管理,那我就哭了

說明在學習Netty的時候&#xff0c;ByteBuf隨處可見&#xff0c;但是如何高效分配ByteBuf還是很復雜的&#xff0c;Netty的池化內存分配這塊還是比較難的&#xff0c;很多人學習過&#xff0c;看過但是還是云里霧里的&#xff0c;本篇文章就是主要來講解&#xff1a;Netty分配池…

數字化改革體系架構“152”兩次迭代升級為“1612”

數字化改革體系架構已經完成兩次迭代&#xff0c;152-1512-1612。 2021年&#xff0c;浙江在全國率先啟動一項關系全局、影響深遠、制勝未來的重大集成改革——數字化改革&#xff0c;并確定為全面深化改革的總抓手。 2021年2月18日&#xff0c;數字化改革大會“152”工作體系…

微軟希望每個人有自己的人工智能朋友

微軟正在和其他公司那樣投資和研發人工智能技術&#xff0c;同時微軟也希望人工智能技術能夠深入我們的日常生活。 為此微軟正在申請新的專利技術希望每個人在社交網絡上都有自己的人工智能朋友可以隨時隨地的溝通交流。 實際上該專利屬于已經實踐的內容再來申請專利技術的&…

python 40位的數減個位數_Python數據分析入門教程(五):數據運算

作者 | CDA數據分析師進行到這一步就可以算是開始正式的烹飪了&#xff0c;在這部分之前的數據操作部分我們列舉了一些不同維度的分析指標&#xff0c;這一章我們主要看看這些指標都是怎么計算出來的。一、算術運算算術運算就是基本的加減乘除&#xff0c;在Excel或者Python中數…

數字化改革“152”體系詳解

架構圖 “1” 即一體化智能化公共數據平臺&#xff08;平臺大腦&#xff09;&#xff0c;按照“統一規劃、統一支撐、統一架構、統一平臺、統一標準、統一建設、統一管理、統一運維"的要求&#xff0c;建設省市縣三級公共數據平臺&#xff0c;疊加三級“大腦功能&#xf…

數字化改革“141”體系

縣級以上是“152”大框架&#xff0c;縣以下是“141”體系。 141體系是&#xff1a;縣級社會治理中心、鄉鎮&#xff08;街道&#xff09;基層治理“四個平臺”、村社網格。 “1” 第一個“1”指縣級社會治理中心。 “4” 第二個“4”指鄉鎮&#xff08;街道&#xff09;基…

spring boot——MockMvc的用法

1.pom配置 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId> </dependency> 2.所需對象及Controller public class User {private String id;private String username;private…

python一元加號_Python一元方程解算系統(需要Sympy庫支持)

解算案例本文為實現python一元方程解算的源碼案例(后續不定期更新)# -*- coding: UTF-8 -*-from sympy import *#設置一些可能拋出的異常def Warn(type):if type "missEquater":print "You missed the euqater!"elif type "excessiveEquater":…

接口做的好怎么形容_淘寶直播預告怎么做才合格?如何做好?

很多淘寶商家在直播前沒有做淘寶直播預告&#xff0c;或者不知道怎么去做直播預告&#xff0c;這對直播的效果會有很大的影響&#xff0c;那么直播前如何做好直播預告呢?怎樣的直播預告才是合格的&#xff0c;下面來了解一下。1.必須去淘寶直播中控臺發布。因為手機上發布目前…

“1+7+N”改革工作體系介紹

2021年&#xff0c;浙江省確定了“17N”的改革工作體系&#xff0c;要求以全面深化改革新成效再創體制機制新優勢。&#xff08;2022年已經升級為“1612N”&#xff0c;點擊閱讀&#xff09; “1” 數字化改革&#xff0c;這是浙江全面深化改革的總抓手。將聚焦打造全球數字變…

傻傻分不清的javascript運行機制

學習到javascript的運行機制時&#xff0c;有幾個概念經常出現在各種文章中且容易混淆。Execution Context(執行環境或執行上下文)&#xff0c;Context Stack (執行棧)&#xff0c;Variable Object(VO: 變量對象)&#xff0c;Active Object(AO: 活動對象)&#xff0c;LexicalEn…

浙江省數字化改革回顧(2022年5月)

事業的偉大在于目標的壯麗&#xff0c;也在于過程的壯麗&#xff1b;改革的成果在于享有的豐富&#xff0c;也在于經歷的豐富。2021年2月18日&#xff0c;春節假期后首個工作日&#xff0c;浙江省委召開全省數字化改革大會&#xff0c;在全國率先開啟數字化改革探索實踐。此后&…

python 某個數是不是在某個范圍內_教寫一個簡單的python小程序(04)

點擊藍字關注我們 會酸的柚子Python愛好者搞機少年七夕結束了~酸柚也是被強塞了滿嘴的狗糧在這樣充滿戀愛腐朽氣息的一天酸柚也是馬不停蹄的在趕稿子兄弟們&#xff0c;給我頂起來呀~我們來看看今日的題目可能很多小伙伴對完全平方數這個概念有點生疏了完全平方數數學上&#x…

Python:模塊module

python中一個模塊就是一個擴展名為.py的文件&#xff0c;也可能是預編譯的.pyc文件。 引入模塊用&#xff1a;import 模塊名 使用引用模塊中定義的標識符&#xff08;函數、變量、類&#xff09;用&#xff1a;模塊名.標識符名 引入模塊中的標識符用&#xff1a;from 模塊名 im…

浙江公布2022年數字化改革“最系列“成果 評選出最佳應用104項

10月29日&#xff0c;省委改革辦&#xff08;省數改辦&#xff09;公布了2022年數字化改革“最系列”成果。該評選由省委改革辦&#xff08;省數改辦&#xff09;會同省委政研室、省人大常委會法工委、省市場監管局和省大數據局共同開展&#xff0c;評選了最佳應用104項、最強大…

dot net core 使用 IPC 進程通信

原文:dot net core 使用 IPC 進程通信版權聲明&#xff1a;博客已遷移到 http://lindexi.gitee.io 歡迎訪問。如果當前博客圖片看不到&#xff0c;請到 http://lindexi.gitee.io 訪問博客。本文地址 https://blog.csdn.net/lindexi_gd/article/details/79946496 dot net core 使…