安装启动nacos以及相关报错问题,简单的nacos使用测试代码

nacos下载地址:https://github.com/alibaba/nacos/releases/tag/2.0.0-BETA

1、windows下启动报Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
截图如下图:
在这里插入图片描述

问题原因:
由于nacos在1.3.2之后默认使用的【集群方式启动】,如果我们本地是单击模式的话,需要手动改回单机模式,如果用的是高版本且是单机模式的话,需要修改启动命令,改为【单机模式】,编辑startup.cmd文件,cmd文件可以右键使用文本编辑器打开,也可以直接把该文件拖拽到notepad++中,建议使用后者
找到 set MODE=“cluster”

修改为:set MODE=“standalone”
在这里插入图片描述

修改保存之后,重新启动即可
在这里插入图片描述

访问路径:http://192.168.1.178:8848/nacos/index.html
用户名:nacos
密码:nacos
在这里插入图片描述
使用nacos的demo

在springboot的yml文件里:
生产者:
在这里插入图片描述

消费者:
在这里插入图片描述

启动服务,我们可以看到消费者和生产者都已注册到nacos里
在这里插入图片描述
简单的测试代码:

生产者的pom文件:
在这里插入图片描述

简单的Controller层代码:

@RestController
public class HelloController {

    @GetMapping("/provider/hi.do")
    public String hi(){
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
    }

}

启动类上的配置:

在这里插入图片描述

消费者的pom文件:
在这里插入图片描述
可以再父模块的pom文件里统一配置spring-cloud版本相关

在这里插入图片描述
service里的代码:

@FeignClient(value = "ProviderDemo")
public interface HelloService {

    // 需要和对应的提供者一模一样
    @GetMapping("/provider/hi.do")
    String hello();
}

controller里的代码:

@RestController
public class HelloController {


    @Autowired
    private HelloService service;

    @GetMapping("/hi.do")
    public String hi(){
        String aa = service.hello();
        System.out.println(aa+"======================");
        return service.hello();
    }

}

启动类上的配置:

在这里插入图片描述
访问结果(http://127.0.0.1:8990/consumer-demo/hi.do):
在这里插入图片描述
@EnableDiscoveryClient // 服务的注册和发现
@EnableFeignClients // 启用Fegin 实现服务的远程调用

注:测试整体代码,已上传至资源,简单的nacos使用测试代码


版权声明:本文为qq_41451744原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。