SpringCloudサービス登録、発見と呼び出し(一)
この文書は次のとおりです.https://blog.csdn.net/marenxi/article/details/80695753
馬仁喜先生が私の疑問に答えてくれたことに感謝します.以下は自分の構築過程を整理し、馬仁喜先生の原文を参照してください.
学習springcloudのアドレス:http://www.ityouknow.com/spring-cloud.html
ここには主に3つの役割があります:サービス登録センター、サービスプロバイダ、サービス消費者
一.サービス登録センター
1,idea->new->project、以下の図、直接next、プロジェクト命名
2,最も簡単なspringbootプロジェクトを作成する
3,pomを修正する.xmlのプロファイル:
4,アプリケーションを修正する.ymlファイル:
5.エントリファイルに注記@EnableEurekaServerを付ける
6、直接起動:http://localhost:8888/
サービスプロバイダ:
1、同じ項目を作成します.
2,pom.xmlの構成は次のとおりです.
3,application.ymlの構成は次のとおりです.
4、コントローラを作成する:
5、プロジェクトの開始、アクセスhttp://localhost:38080/hellogetjsonの結果と登録センターにサービスが増えていることがわかります.
三、消費者
1、上記のようにspringbootプロジェクトを作成する
2,pom.xmlファイルの構成
3,application.ymlファイルの構成
4,controller作成
5,リモートコールサービス者が提供するapiを作成するインタフェース
7、サービス開始:http://localhost:9001/hello/neo
これで成功!
馬仁喜先生が私の疑問に答えてくれたことに感謝します.以下は自分の構築過程を整理し、馬仁喜先生の原文を参照してください.
学習springcloudのアドレス:http://www.ityouknow.com/spring-cloud.html
ここには主に3つの役割があります:サービス登録センター、サービスプロバイダ、サービス消費者
一.サービス登録センター
1,idea->new->project、以下の図、直接next、プロジェクト命名
2,最も簡単なspringbootプロジェクトを作成する
3,pomを修正する.xmlのプロファイル:
4.0.0
com.example
demo
0.0.1-SNAPSHOT
demo
Demo project for Spring Boot
org.springframework.boot
spring-boot-starter-parent
1.5.3.RELEASE
UTF-8
UTF-8
yyyy-MM-dd_HH_mm
1.8
org.springframework.cloud
spring-cloud-dependencies
Dalston.RC1
pom
import
org.springframework.cloud
spring-cloud-starter-eureka
org.springframework.cloud
spring-cloud-starter-eureka-server
org.springframework.cloud
spring-cloud-starter-config
org.springframework.boot
spring-boot-starter-test
test
${project.artifactId}-${maven.build.timestamp}
org.springframework.boot
spring-boot-maven-plugin
spring-milestones
Spring Milestones
https://repo.spring.io/milestone
false
4,アプリケーションを修正する.ymlファイル:
server:
port: 8888
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://localhost:8888/eureka/
server:
enable-self-preservation: false
spring:
freemarker:
prefer-file-system-access: false
cloud:
config:
enabled: false
5.エントリファイルに注記@EnableEurekaServerを付ける
6、直接起動:http://localhost:8888/
サービスプロバイダ:
1、同じ項目を作成します.
2,pom.xmlの構成は次のとおりです.
4.0.0
org.springframework.boot
spring-boot-starter-parent
1.5.3.RELEASE
com.example
client
0.0.1-SNAPSHOT
client
Demo project for Spring Boot
UTF-8
UTF-8
yyyy-MM-dd_HH_mm
1.8
org.springframework.cloud
spring-cloud-starter-eureka
1.3.1.RELEASE
org.springframework.cloud
spring-cloud-starter-config
1.3.1.RELEASE
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
${project.artifactId}-${maven.build.timestamp}
org.springframework.boot
spring-boot-maven-plugin
spring-milestones
Spring Milestones
https://repo.spring.io/milestone
false
3,application.ymlの構成は次のとおりです.
server:
port: 38080
eureka.client.service-url.defaultZone:
http://localhost:8888/eureka/
spring.application.name:
service-name1
4、コントローラを作成する:
@Controller
//
@CrossOrigin
class HelloWorldController {
@RequestMapping(value = "/helloget")
@ResponseBody
public ResultData helloget(String name) {
ResultData result = new ResultData();
result.setId("no1");
result.setName(name);
return result ;
}
}
5、プロジェクトの開始、アクセスhttp://localhost:38080/hellogetjsonの結果と登録センターにサービスが増えていることがわかります.
三、消費者
1、上記のようにspringbootプロジェクトを作成する
2,pom.xmlファイルの構成
4.0.0
com.example
consumer
0.0.1-SNAPSHOT
consumer
Demo project for Spring Boot
org.springframework.boot
spring-boot-starter-parent
1.5.3.RELEASE
UTF-8
UTF-8
1.8
Dalston.RELEASE
org.springframework.cloud
spring-cloud-starter-feign
org.springframework.cloud
spring-cloud-starter-eureka
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
3,application.ymlファイルの構成
server:
port: 9001
eureka.client.service-url.defaultZone:
http://localhost:8888/eureka/
spring.application.name:
consumer
4,controller作成
@RestController
public class ConsumerController {
@Autowired
HelloRemote helloRemote;
@RequestMapping("/hello/{name}")
public String index(@PathVariable("name") String name) {
return helloRemote.hello(name);
}
}
5,リモートコールサービス者が提供するapiを作成するインタフェース
@FeignClient(name= "service-name1")
public interface HelloRemote{
@RequestMapping(value = "/helloget")
public String hello(@RequestParam(value = "name") String name);
}
7、サービス開始:http://localhost:9001/hello/neo
これで成功!