1.引入依赖
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>
2.application.properties中配置
# 应用名称
spring.application.name=nacos-aserver.port=8080# Nacos 服务发现与注册配置,其中子属性 server-addr 指定 Nacos 服务器主机和端口
spring.cloud.nacos.discovery.server-addr=localhost:8848
# 注册到 nacos 的指定 namespace,默认为 public
spring.cloud.nacos.discovery.namespace=public
更多配置:
3 启动应用
启动springboot应用,nacos管理端界面查看是否成功注册
4 调用其它服务
4.1新建应用nacos-b
@RestController
public class HelloController {@GetMapping("hello")public String hello(){return "hello world";}
}
4.2使用RestTemplate进行服务调用,可以使用微服务名称(spring.application.name)
注意:需要添加@LoadBalanced注解
@Configuration
public class RestConfig {@Bean@LoadBalanced //注意:如果使用服务注册中心,需要添加@LoadBalanced注解//加上该注解之后,RestTemplate会把请求的一级目录最为服务名,去服务注册中心抓取对应的ip,然后再去调用对应的接口数据public RestTemplate restTemplate() {return new RestTemplate();}
}
@SpringBootApplication
public class NacosApplication {public static void main(String[] args) {ApplicationContext ctx = SpringApplication.run(NacosApplication.class, args);RestTemplate restTemplate = ctx.getBean(RestTemplate.class);String forObject = restTemplate.getForObject("http://nacos-b/hello", String.class);System.out.println(forObject);}println(forObject);}}