SpringCloudサービス登録、発見と呼び出し(一)

11654 ワード

この文書は次のとおりです.https://blog.csdn.net/marenxi/article/details/80695753 
馬仁喜先生が私の疑問に答えてくれたことに感謝します.以下は自分の構築過程を整理し、馬仁喜先生の原文を参照してください.
学習springcloudのアドレス:http://www.ityouknow.com/spring-cloud.html
ここには主に3つの役割があります:サービス登録センター、サービスプロバイダ、サービス消費者
一.サービス登録センター
1,idea->new->project、以下の図、直接next、プロジェクト命名
SpringCloud服务注册、发现与调用 (一)_第1张图片
2,最も簡単なspringbootプロジェクトを作成する
SpringCloud服务注册、发现与调用 (一)_第2张图片
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/
SpringCloud服务注册、发现与调用 (一)_第3张图片
サービスプロバイダ:
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
SpringCloud服务注册、发现与调用 (一)_第4张图片
これで成功!