本部分需要依赖之前的配置中心和服务注册中心、服务提供者三个示例代码运行
三种方式
- RestTemplate
- Ribbon
- Feign
下面描述的是通过RestTemplate
的方式进行服务调用
- RestTemplate
RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率
1.引入依赖2.稍作配置1
compile "org.springframework.cloud:spring-cloud-starter-eureka:${cloud_config}"
在bootstrap.yaml
中加入Eureka server
相关配置3.添加注解1
2
3
4
5
6
7
8spring:
cloud:
config:
uri: http://localhost:8888
profile: rabbit
name: appliaction
username: pkaq
password: pkaqx4.来点代码1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
open class RabbitClientBooter: CommandLineRunner{
//spring默认已注入RestTemplateBuilder实例
val builder: RestTemplateBuilder? = null
// 实例化restTemplate
open fun restTemplate(): RestTemplate {
return builder!!.build()
}
override fun run(vararg args: String) {
println(" --- --- --- [ Rabbit client started ] --- --- --- ")
}
}
fun main(args: Array<String>) {
org.springframework.boot.SpringApplication.run(org.pkaq.RabbitClientBooter::class.java, *args)
}
Controller代码
1 |
|
可以看到 采用这种方式 比较繁琐,其中拼接url的部分代码会产生大量重复,或许你第一反应会是封装一下,但好在已经有了足够多的现成轮子可以使用
5.启动服务,大功告成