网站登录nacos:
数据库创表nacos utf-8
网页输入:localhost:8848/nacos(先打开nacos再登录)
文件结构
步骤:
1.在pom.xml文件中分别配置Maven依赖
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.3.2.RELEASE</version>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.6.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR9</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- springboot启动依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 服务的注册与发现的场景依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- 端点监控-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
2.在resources文件夹下创建application.yml
spring:
application:
name: cloud-goods(文件名)
cloud:
nacos:
discovery:
server-addr: localhost:8848
username: nacos
password: nacos
--server: //分类端口
port:9001
3.将接口放入controlller下接口类
import java.util.HashMap;
import java.util.Map;
@RestController
@RequestMapping("/goods")
public class GoodsAppController {
@RequestMapping("/findById/{spuId}")
public Map findById(@PathVariable String spuId){
return new HashMap(){{
put("name","小米");
put("price","199");
}};
}
}
注册:
GoodsApp
package com.ldl;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class GoodsApp {
public static void main(String[] args) {
SpringApplication.run(GoodsApp.class,args);
}
}
OrderApp
package com.ldl;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;
@SpringBootApplication
public class OrderApp {
public static void main(String[] args) {
SpringApplication.run(OrderApp.class,args) ;
}
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate() ;
}
}
实现:
OderController
package com.ldl.com.ldl.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import java.util.Map;
@RestController
@RequestMapping("/order")
public class OderController {
@Autowired
private RestTemplate restTemplate ;
@RequestMapping("/save")
public Map save(){
String url = "http://cloud-goods/goods/findById/1" ;
Map goodsInfo = restTemplate.getForObject(url,Map.class) ;
System.out.println(goodsInfo);
return goodsInfo;
}
}
idea启动GoodsApp和Order