简单实践 java spring cloud nacos注册中心

1.概要

1.1 说明

使用nacos做为注册中

1.2 要点

  • spring-cloud-alibaba-dependencies
    
  • spring-cloud-starter-alibaba-nacos-discovery
  • spring-boot-starter-web
  • @SpringBootApplication
  • @EnableDiscoveryClient
  • SpringApplication.run(Main.class);
  • @RestController
  • @RequestMapping("/fun")
  • cloud:
      nacos:
        discovery:
          server-addr: localhost:8848
  • @Bean
    //@LoadBalanced
    public RestTemplate restTemplate()
  • @Autowired
    RestTemplate restTemplate;

2 代码

2.1 父工程



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        3.2.2
         
    
    com.xjc.springcloundtest
    demo9
    0.0.1-SNAPSHOT
    pom
    demo9
    demo9
    
        untitled
        untitled1
        untitled2
        untitled3
    
    
        21
        2023.0.0
        2020.0.RC1
    
    
        
            org.springframework.cloud
            spring-cloud-starter
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    
    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
            
            
                com.alibaba.cloud
                spring-cloud-alibaba-dependencies
                ${spring-cloud-alibaba.version}
                pom
                import
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


2.2 服务工程

2.2.1 工程文件



    4.0.0
    
        com.xjc.springcloundtest
        demo9
        0.0.1-SNAPSHOT
    

    untitled

    
        21
        21
        UTF-8
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        




        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
        
    

2.2.2 配置文件

spring:
  application:
    name: server1
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
#eureka:
#  client:
#    service-url:
#      defaultZone: http://127.0.0.1:10086/eureka/

2.2.3 主函数

package com.xjc.springcloundtest;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableDiscoveryClient
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class);
        System.out.println("Hello world!");
    }
}

2.2.4 服务接口

package com.xjc.springcloundtest;

import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
//@EnableDiscoveryClient
public class TestController {
    @RequestMapping("/fun")
    public String fun(){
        return "函数1";
    }
}

2.2.5 运行效果

简单实践 java spring cloud nacos注册中心_第1张图片

2.3 消费工程

2.3.1 工程文件



    4.0.0
    
        com.xjc.springcloundtest
        demo9
        0.0.1-SNAPSHOT
    

    untitled1

    
        21
        21
        UTF-8
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        




        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
        
    

2.3.2 配置文件

server:
  port: 8081
spring:
  application:
    name: server2
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
#eureka:
#  client:
#    service-url:
#      defaultZone: http://127.0.0.1:10086/eureka/

2.3.3 主函数

package com.xjc.springcloundtest;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

@SpringBootApplication
//@EnableDiscoveryClient
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class);
        System.out.println("Hello world!");
    }

    @Bean
    //@LoadBalanced
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }
}

2.3.4 消费函数

package com.xjc.springcloundtest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

@RestController
public class TestController {
    @Autowired
    RestTemplate restTemplate;

    @RequestMapping("/fun")
    public String fun(){
        //String url = "http://server1/fun";
        String url = "http://localhost:8080/fun";
        String ret = restTemplate.getForObject(url,String.class);
        return "函数2"+ret;
    }


}

2.3.5 运行效果

简单实践 java spring cloud nacos注册中心_第2张图片

3 nacos 下载安装

你可能感兴趣的:(spring,cloud,java,spring,cloud,开发语言)