1.引入依赖
xml
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2.application.properties中配置
typescript
# 应用名称
spring.application.name=nacos-a
server.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
java
@RestController
public class HelloController {
@GetMapping("hello")
public String hello(){
return "hello world";
}
}
4.2使用RestTemplate进行服务调用,可以使用微服务名称(spring.application.name)
注意:需要添加@LoadBalanced注解
java
@Configuration
public class RestConfig {
@Bean
@LoadBalanced
//注意:如果使用服务注册中心,需要添加@LoadBalanced注解
//加上该注解之后,RestTemplate会把请求的一级目录最为服务名,去服务注册中心抓取对应的ip,然后再去调用对应的接口数据
public RestTemplate restTemplate() {
return new RestTemplate();
}
}
java
@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);
}
}