SpringCloud(Eureka)微服务注册以及调用

环境准备

  • Mac或者Windows
  • Eclipse
  • JDK 1.8

创建服务注册中心
1.创建Maven Project,作为所有工程的父工程
SpringCloud(Eureka)微服务注册以及调用_第1张图片
2.修改pom.xml来添加依赖


  4.0.0
  com.hazlin.springcloud
  spring-root
  0.0.1-SNAPSHOT
  pom
  
  
        org.springframework.boot
        spring-boot-starter-parent
        1.4.1.RELEASE
    
   
    spring-register
    springcloud-eureka
    springcloud-common
   
  
  
    
        
            org.springframework.cloud
            spring-cloud-dependencies
            Dalston.SR1
            pom
            import
        
    

 
 
        spring-root
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    
                        
                            repackage
                        
                    
                
            
            
                org.apache.maven.plugins
                maven-compiler-plugin
                
                    utf-8
                    1.8
                    1.8
                
            
        
    

3.创建eureka注册中心,创建Maven Module,父工程指向刚才创建的spring-root
SpringCloud(Eureka)微服务注册以及调用_第2张图片

4.修改pom.xml添加依赖


  4.0.0
  
    com.hazlin.springcloud
    spring-root
    0.0.1-SNAPSHOT
  
  springcloud-eureka
  
  
    
        
            org.springframework.cloud
            spring-cloud-starter-eureka-server
        
    

5.在springcloud-eureka里创建启动类

package com;

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class RegisterMain {

	     public static void main(String [] args) {
	    	 new SpringApplicationBuilder(RegisterMain.class).web(true).run(args);
	     }
}

6.添加application.yml

server:
  port: 8080
 
eureka:
  instance:
    hostname: localhost
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url: 
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

此时启动RegisterMain,然后在浏览器输入localhost:8080,即可以看到如下,此时还没有服务注册进来,说明注册中心已经部署OK了:
SpringCloud(Eureka)微服务注册以及调用_第3张图片
创建服务提供者
按照之前的方式创建一个Maven Module
1.修改pom.xml


  4.0.0
  
    com.hazlin.springcloud
    spring-root
    0.0.1-SNAPSHOT
  
  springcloud-common
  
  
    
        
            org.springframework.cloud
            spring-cloud-starter-eureka-server
        
    

2.添加提供服务

package com;

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient
public class AppMain {
	
	public static void main(String [] args) {
   	 new SpringApplicationBuilder(AppMain.class).web(true).run(args);
    }

}

3.添加application.yml
server:

  port: 8001
 
spring:
  application:
    name: spring-cloud-common
 
#注册中心指向start    
eureka:
  instance:
    instance-id: spring-cloud-common
    appname: ${spring.application.name}
  client: 
    service-url: 
      defaultZone: http://127.0.0.1:8080/eureka/

这时候再启动提供服务类,就可以在前台看到有服务注册上去了:
SpringCloud(Eureka)微服务注册以及调用_第4张图片
好了,这时候就已经有服务部署上去了,那现在来一个可以调用的服务,就需要创建一个controller,要和服务提供者在同一级目录或者下级目录,要不然无法加载

package com;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloWorld {
    
	@GetMapping("/test/{id}")
    public String test(@PathVariable String id){
        return "hello"+id.toString();
    }
	
	@GetMapping("/order/{num}")
	public int getOrder(@PathVariable int num) {
		
		return num+6;
	}
	
}

此时就可以通过API调用了
SpringCloud(Eureka)微服务注册以及调用_第5张图片

代码结构如下:
SpringCloud(Eureka)微服务注册以及调用_第6张图片

你可能感兴趣的:(SpringCloud(Eureka)微服务注册以及调用)