创建父项目
创建父项目
进行版本选择
更改 packaging 为 pom
使用 maven构建 创建oeder子项目
使用maven构建子项目可以直接继承父项目
子项目order pom’文件展示
创建完成之后 sunflower pom文件会加上子模块
使用spring Initializr创建 stock子项目
子模块stock pom文件展示
使用spring Initializr 创建默认继承是 spring-boot-starter-parent 需要改为sunflower 父项目
在父工程 添加 子模块
在order 和stock pom 分别添加
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
Controller 创建
在order 创建OrderController
package com.yc.order.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/order")
public class OrderController {
@RequestMapping("/add")
public String add(){
System.out.println("order 下单成功");
return "Order 下单成功";
}
}
**在stock创建StockController**
```java
package com.yc.stock.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/stock")
public class StockController {
@RequestMapping("/reduct")
public String add() {
System.out.println("stock 扣减库存成功");
return "stock 扣减库存成功";
}
}
创建OrderApplication 主启动类
```java
@SpringBootApplication
public class OrderApplication {
public static void main(String[] args) {
SpringApplication.run(OrderApplication.class,args);
}
}
order 使用RestTemplate 调用stock
创建配置类RestTemplateConfig
@Component
public class RestTemplateConfig {
@Bean
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
}
**分别为order 和stock 配置启动端口 8001 和8002**
在order中访问stock
@RequestMapping("/add")
public String add(){
System.out.println("order 下单成功");
String stockMsg = restTemplate.getForObject("http://localhost:8002/stock/reduct", String.class);
return "Order 下单成功" +stockMsg;
}