当前位置: 首页> 教育> 锐评 > 2345网址导航 中国最_室内装饰设计说明_什么是网络营销推广_北京seo推广外包

2345网址导航 中国最_室内装饰设计说明_什么是网络营销推广_北京seo推广外包

时间:2025/7/11 17:41:38来源:https://blog.csdn.net/chendemingxxx/article/details/145972349 浏览次数:0次
2345网址导航 中国最_室内装饰设计说明_什么是网络营销推广_北京seo推广外包

大叫好我是小帅,今天我们来讲微服务开发工程细节,这里不包括全部代码,包括父子工程pom文件讲解,RestTemplate发送http请求。

文章目录

  • 1. 项目工程介绍
    • 1.1 父工程的pom文件
    • 1.2 Spring Cloud版本和springBoot关系
    • 1.3 创建两个子项目
  • 2. RestTemplate
    • 2.1 RestTemplate的简单使用


1. 项目工程介绍

这里我提供了项目全部代码:https://gitee.com/eating-candy-is-also-buni/spring-cloud/commit/9f8d1f3a6b655876062f052dab16b0a7c9e1aee2

项目结构:

在这里插入图片描述

1.1 父工程的pom文件

⽤properties来进⾏版本号的统⼀管理, 使⽤dependencyManagement来管理依赖, 声明⽗⼯程的打包⽅式为pom

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.cdm</groupId><artifactId>clout</artifactId><version>1.0-SNAPSHOT</version><packaging>pom</packaging> <!-- 声明⽗⼯程的打包⽅式为pom--><modules><module>product-service</module><module>order-service</module></modules><!--    新添加--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.6</version><relativePath/> <!-- lookup parent from repository --></parent><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><java.version>17</java.version><mybatis.version>3.0.3</mybatis.version><mysql.version>8.0.33</mysql.version><spring-cloud.version>2022.0.3</spring-cloud.version></properties><dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency></dependencies><!--    只是声明,没有引用,子项目应用才下载--><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>${mybatis.version}</version></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>${mysql.version}</version></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter-test</artifactId><version>${mybatis.version}</version><scope>test</scope></dependency></dependencies></dependencyManagement>
</project>

解释:

DependencyManagement 和 Dependencies

  1. dependencies :将所依赖的jar直接加到项⽬中. ⼦项⽬也会继承该依赖.
  2. dependencyManagement :只是声明依赖, 并不实现Jar包引⼊, 如果⼦项⽬需要⽤到相关依赖,需要显式声明. 如果⼦项⽬没有指定具体版本, 会从⽗项⽬中读取version. 如果⼦项⽬中指定了版本号,就会使⽤⼦项⽬中指定的jar版本. **此外⽗⼯程的打包⽅式应该是pom,**不是jar, 这⾥需要⼿动使⽤ packaging 来声明.

子工程pom文件怎么显示声明等等我会讲

1.2 Spring Cloud版本和springBoot关系

Spring Cloud 是基于SpringBoot搭建的, 所以Spring Cloud 版本与SpringBoot版本有关
在这里插入图片描述

1.3 创建两个子项目

在这里插入图片描述

声明项⽬依赖 和 项⽬构建插件

 <!--    新添加--><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId></dependency><!--mybatis--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins><resources><resource><directory>src/main/resources</directory><filtering>true</filtering><includes><include>**/**</include></includes></resource></resources></build>

解释:

⼦项⽬没有指定具体版本, 会从⽗项⽬中读取version. 如果⼦项⽬中指定了版本号,就会使⽤⼦项⽬中指定的jar版本.

2. RestTemplate

RestTemplate 是从 Spring3.0 开始⽀持的⼀个 HTTP 请求⼯具, 它是⼀个同步的 REST API 客⼾端, 提供了常⻅的REST请求⽅案的模版.


2.1 RestTemplate的简单使用

实现思路: order-service服务向product-service服务发送⼀个http请求, 把得到的返回结果, 和订单结果融合在⼀起, 返回给调⽤⽅.

实现⽅式: 采⽤Spring 提供的RestTemplate

实现http请求的⽅式, 有很多, 可参考: https://zhuanlan.zhihu.com/p/670101467

  1. 定义RestTemplate
@Configuration
public class BeanConfig {//把这个第三方类交给Spring管理@Beanpublic RestTemplate restTemplate() {return new RestTemplate();}
}

修改order-service中的 OrderService

@Service
public class OrderService {@Autowiredprivate OrderMapper orderMapper;@Autowiredprivate RestTemplate restTemplate;public OrderInfo selectByOrderId(Integer orderId) {OrderInfo orderInfo = orderMapper.selectByOrderId(orderId);String url = "http://127.0.0.1:9090/product/" + orderInfo.getProductId();ProductInfo productInfo = restTemplate.getForObject(url, ProductInfo.class);orderInfo.setProductInfo(productInfo);return orderInfo;}
}

测试

访问url: http://127.0.0.1:8080/order/1
在这里插入图片描述

好了今天就到这里了,感谢观看。

关键字:2345网址导航 中国最_室内装饰设计说明_什么是网络营销推广_北京seo推广外包

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: