本篇文章為大家展示了springcloud服務(wù)提供與調(diào)用多注意點(diǎn),內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
網(wǎng)站設(shè)計(jì)制作過(guò)程拒絕使用模板建站;使用PHP+MYSQL原生開(kāi)發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺(tái)管理系統(tǒng);成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站收費(fèi)合理;免費(fèi)進(jìn)行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運(yùn)營(yíng)了十年的創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司。
下面介紹一下如何使用eureka服務(wù)注冊(cè)中心,搭建一個(gè)簡(jiǎn)單的服務(wù)端注冊(cè)服務(wù),客戶端去調(diào)用服務(wù)使用的案例。
案例中有三個(gè)角色:服務(wù)注冊(cè)中心、服務(wù)提供者、服務(wù)消費(fèi)者,其中服務(wù)注冊(cè)中心就是eureka單機(jī)版啟動(dòng)既可,流程是首先啟動(dòng)注冊(cè)中心,服務(wù)提供者生產(chǎn)服務(wù)并注冊(cè)到服務(wù)中心中,消費(fèi)者從服務(wù)中心中獲取服務(wù)并執(zhí)行。
服務(wù)提供
我們假設(shè)服務(wù)提供者有一個(gè)hello方法,可以根據(jù)傳入的參數(shù),提供輸出“hello ,this is first messge”的服務(wù)
1、pom包配置
創(chuàng)建一個(gè)springboot項(xiàng)目,pom.xml中添加如下配置:
org.springframework.cloud spring-cloud-starter-eureka org.springframework.boot spring-boot-starter-test test
2、配置文件
application.properties配置如下:
spring.application.name=spring-cloud-producer server.port=9000 eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/
3、啟動(dòng)類
啟動(dòng)類中添加@EnableDiscoveryClient注解
@SpringBootApplication @EnableDiscoveryClient public class ProducerApplication { public static void main(String[] args) { SpringApplication.run(ProducerApplication.class, args); } }
4、controller
提供hello服務(wù)
@RestController public class HelloController { @RequestMapping("/hello") public String index(@RequestParam String name) { return "hello "+name+",this is first messge"; } }
添加@EnableDiscoveryClient注解后,項(xiàng)目就具有了服務(wù)注冊(cè)的功能。啟動(dòng)工程后,就可以在注冊(cè)中心的頁(yè)面看到SPRING-CLOUD-PRODUCER服務(wù)。
到此服務(wù)提供者配置就完成了。
服務(wù)調(diào)用
1、pom包配置
和服務(wù)提供者一致
org.springframework.cloud spring-cloud-starter-eureka org.springframework.boot spring-boot-starter-test test
2、配置文件
application.properties配置如下:
spring.application.name=spring-cloud-consumer server.port=9001 eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/
3、啟動(dòng)類
啟動(dòng)類添加@EnableDiscoveryClient和@EnableFeignClients注解。
@SpringBootApplication @EnableDiscoveryClient @EnableFeignClients public class ConsumerApplication { public static void main(String[] args) { SpringApplication.run(ConsumerApplication.class, args); } }
@EnableDiscoveryClient :啟用服務(wù)注冊(cè)與發(fā)現(xiàn)
@EnableFeignClients:?jiǎn)⒂胒eign進(jìn)行遠(yuǎn)程調(diào)用
Feign是一個(gè)聲明式Web Service客戶端。使用Feign能讓編寫(xiě)Web Service客戶端更加簡(jiǎn)單, 它的使用方法是定義一個(gè)接口,然后在上面添加注解,同時(shí)也支持JAX-RS標(biāo)準(zhǔn)的注解。Feign也支持可拔插式的編碼器和解碼器。Spring Cloud對(duì)Feign進(jìn)行了封裝,使其支持了Spring MVC標(biāo)準(zhǔn)注解和HttpMessageConverters。Feign可以與Eureka和Ribbon組合使用以支持 name:遠(yuǎn)程服務(wù)名,及spring.application.name配置的名稱 此類中的方法和遠(yuǎn)程服務(wù)中contoller中的方法名和參數(shù)需保持一致。 5、web層調(diào)用遠(yuǎn)程服務(wù) 將HelloRemote注入到controller層,像普通方法一樣去調(diào)用即可。 到此,最簡(jiǎn)單的一個(gè)服務(wù)注冊(cè)與調(diào)用的例子就完成了。 上述內(nèi)容就是springcloud服務(wù)提供與調(diào)用多注意點(diǎn),你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。@RestController
public class ConsumerController {
@Autowired
HelloRemote HelloRemote;
@RequestMapping("/hello/{name}")
public String index(@PathVariable("name") String name) {
return HelloRemote.hello(name);
}
}
本文題目:springcloud服務(wù)提供與調(diào)用多注意點(diǎn)
網(wǎng)站網(wǎng)址:http://weahome.cn/article/pcgdsh.html