当前位置: 首页 > news >正文

网站建设方案书内容wordpress管理系统

网站建设方案书内容,wordpress管理系统,郑州网站建设排行榜,怎么做安居客网站#x1f389;#x1f389;欢迎来到我的CSDN主页#xff01;#x1f389;#x1f389; #x1f3c5;我是君易--鑨#xff0c;一个在CSDN分享笔记的博主。#x1f4da;#x1f4da; #x1f31f;推荐给大家我的博客专栏《SpringCloud开发之远程消费》。#x1f3af;欢迎来到我的CSDN主页 我是君易--鑨一个在CSDN分享笔记的博主。 推荐给大家我的博客专栏《SpringCloud开发之远程消费》。 如果感觉还不错的话请给我关注加三连吧 前言 在上一期的SpringCloud的分享中我们对其SpringCloud有了一个初步的了解在上一期我们一起学习了什么是SpringCloud、详细的讲述了SpringCloud核心组件在业务中的一些用法以及作用最后我们还涉及到了nacos在SpringCloud中的集成使用。本期的博客分享基于上期的博客进行一个远程消费的一个分享 一、 什么是远程消费 1. 概述 在 Spring Cloud 中远程消费通常指的是一个微服务通过网络调用另一个微服务的接口以实现跨服务的功能调用。这种跨服务的通信方式常见于分布式系统中其中不同的微服务协同工作以完成更大的业务目标。在微服务架构中各个微服务通常拥有独立的代码库和部署单元。 2.  实现方式 2.1 RestTemplate RestTemplate 是 Spring 提供的一个用于访问 REST 服务的模板类。通过 RestTemplate你可以发起 HTTP 请求从而实现对其他微服务提供的 RESTful API 的调用。在 Spring Cloud 中可以通过使用 LoadBalanced 注解来启用负载均衡使得 RestTemplate 可以根据服务名称自动选择合适的实例。 代码示例展示 Bean LoadBalanced public RestTemplate restTemplate() {return new RestTemplate(); }2.2 Feign Spring Cloud Feign 是一个基于注解的声明式 HTTP 客户端它简化了使用 RestTemplate 的代码。通过定义接口并添加 FeignClient 注解开发者可以直接调用其他微服务的接口而 Feign 会在运行时自动创建实现类并处理 HTTP 请求。 代码示例展示 FeignClient(name another-service) public interface AnotherServiceClient {GetMapping(/api/someEndpoint)String getSomeData(); }2.3 WebFlux WebClient 对于响应式编程Spring WebFlux 提供了 WebClient 类它也可以用于进行远程服务调用。WebClient 提供了非阻塞的 API适用于构建响应式系统。 代码示例展示 WebClient webClient WebClient.create(http://another-service); String result webClient.get().uri(/api/someEndpoint).retrieve().bodyToMono(String.class).block();总之这些方法都允许微服务之间进行远程通信使得不同微服务能够协同工作共同完成复杂的业务逻辑。在使用这些远程消费的方法时通常需要考虑到服务的可用性、负载均衡、容错机制如断路器模式等因素以确保系统的稳定性和可靠性。 二、DTO封装 VOView Object视图对象用于展示层它的作用是把某个指定页面或组件的所有数据 封装起来。         DTOData Transfer Object数据传输对象这个概念来源于J2EE的设计模式原来的目的是 为了EJB的分布式应用提供粗粒度的数据实体以减少分布式调用的次数从而提高分布式调用的性能和降低网络负载但在这里我泛指用于展示层与服务层之间的数据传输对象。         DODomain Object领域对象就是从现实世界中抽象出来的有形或无形的业务实体。         POPersistent Object持久化对象它跟持久层通常是关系型数据库的数据结构形成一 一对应的映射关系如果持久层是关系型数据库那么数据表中的每个字段或若干个就对应PO的一个或若干个属性。 消费者 远程调用 生产者 : 需要网络传输,使用DTO同一封装对象          原理与 SpringBoot 启动类相同         1.将 DTO 对象封装到公共 DTO 模块         2.为需要的项目引入公共 DTO 模块 注意点 1.不需要继承父模块(重复引用问题)         2.打包方式为jar         3.不需要添加启动类的编译 三、Feign实现远程消费 如果我们基于上一期的博客中的代码去实现我们的代码的话我们的代码要写到爆因此我们接下来就以Feign来详细说明其实现的过程 1. 导入其Fegin的pom依赖 在我们的主项目中去导入我们的Fegin的pom依赖。 !-- 引入openfeign的依赖--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId/dependency 2. 标记使用远程消费 我们在需要远程消费的服务的启动类上打上注解进行标记说明该服务启用远程消费。 注解EnableFeignClients          该注解是开启Feign功能我们的消费者需要启用因此在我们的消费者的启动类上打上其注解。 3. 生产者编写接口 我们需要模拟远程消费对应的生产者是不是应该编写一个Controller去提供一些接口让我们的消费者进行调用。         在编写的过程中只要参数是复杂对象即使指定了是GET方法feign依然会以POST方法进行发送请求同时生产者必 须支持POST请求并给参数添加RequestBody注解 3.1 参数的接收方式 3.1.1 路径参数 // 路径接收参数的请求RequestMapping(/{account})public String getByPath(PathVariable(account) String account){log.info(account:{},account);//打印输出查看return ;} 3.1.2 接收多个参数 // 接收多个参数的请求// RequestParam接受参数RequestMapping(/param)public String getByPath(RequestParam(account) String password,RequestParam(password) String account){log.info(account:{},password:{},account,password);//打印输出查看return ;} 3.1.3 使用对象接收 首先我们要在生产者进行创建一个实体类 User.java package com.yx.provider.pojo;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;/*** com.yx.provider.pojo** author 君易--鑨* site www.yangxin.com* company 木易* create 2024/1/6* 实体类用于存储用户信息*/ Data AllArgsConstructor NoArgsConstructor public class User {private Long id;//idprivate String account;//账号private String password;//密码String password;//密码}编写对应的请求方法 // 接收对象参数的请求// RequestBody接受参数RequestMapping(/pojo)public String getByPath(RequestBody User user){log.info(user:{},user);//打印输出查看return ;} 3.1.4 使用Map接收 RequestMapping(/more)public String getByMore(RequestBody MapString, Object map) {log.info(more:{} map);return ;} 4. 编写一个接口类 如果我们的消费者还是使用上期博客中的那种方式去调用的话不方便也不好。因此我们可以在消费者编写一个接口类用于调用。  FeginService.java package com.yx.consumer.service;import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam;/*** com.yx.consumer.service** author 君易--鑨* site www.yangxin.com* company 木易* create 2024/1/6* 接口类用于调用生产者的请求方法连接生产者的Controller*/ FeignClient(provider)//连接的注解 public interface FeginService {// 路径接收参数的请求RequestMapping(/{account})String getByPath(PathVariable(account) String account);// 接收多个参数的请求// RequestParam接受参数RequestMapping(/param)String getByPath(RequestParam(account) String password,RequestParam(password) String account);}编写对应的接口类的时候要注意一下几点  5. 编写消费者的Controller 重新编写请求方法进行调用生产者的方法 ConsumerController.java package com.yx.consumer;import com.yx.consumer.service.FeginUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;RestController public class ConsumerController {// 调用生产者 ,注入接口Autowiredprivate FeginUserService feginUserService;//restTemplate相当于HttpClient用于发送请求RequestMapping(/test01 )public String test01() {// 跳转到生产者去return feginUserService.getByPath(木易兮);}} 6. 测试 6.1 测试路径传参 当我们启动项目之后在其网页进行对其发送请求 6.2 测试传递多个参数 6.3 测试对象传递参数 消费者中的接口类定义其方法 对其的控制层编写请求 运行测试   我们这里测试没有问题但是我们要考虑一个问题如果我们生产者的实体类比较多呢难道都赋值到消费者去吗。 我们可以在主项目下新建一个maven项目作为公共模块我们创建好之后对其pom文件进行修改。 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsdmodelVersion4.0.0/modelVersionartifactIdcommon/artifactIdpackagingjar/packagingnamecommon Maven Webapp/nameurlhttp://maven.apache.org/urlparentgroupIdcom.yx/groupIdartifactIdcloud/artifactIdversion1.0-SNAPSHOT/version/parentdependencies/dependencies /project还要将其实体类赋值过来 将实体类的名称改成UserDto,该类中的属性不一定和User的属性一致生产者和消费者中引入UserDto需要在pom文件中引入公共模块 dependencygroupIdcom.yx/groupIdartifactIdcommon/artifactIdversion1.0-SNAPSHOT/version/dependency 引入之后我就用UserDto进行传参以及接收  消费者的接口类进行修改 以及请求类也需修改 最后我们启动项目进行访问请求测试   6.4  测试使用Map接收 消费者对应的代码  最后我们重新启动项目运行测试即可  本期的博客分享到此结束 各位老铁慢慢消化 下期博客博主会带来新货 三连加关注阅读不迷路
http://www.hkea.cn/news/14502633/

相关文章:

  • 网站停留时间商城app官方下载
  • 网站流量利用手机网站 wap
  • 加盟网网站建设策划书二手物品交易网站设计英文
  • wordpress 建购物网站个人建设图片分享网站
  • 如何修改网站备案信息joomla 网站建设
  • iis配置网站是什么网络推广渠道分类
  • 太平洋在线企业网站管理系统品牌设计图片
  • 私人定制广州seo关键词优化是什么
  • 福建国通星驿网络科技有限公司北京百度seo推广
  • 苏州园区两学一做网站东坑镇做网站
  • 自助建站的优势紧急域名升级更换通知
  • 站长平台怎么做网站2018淘宝客网站开发
  • 西斗门的网站建设成都室内设计公司排名前十
  • 山西省建设厅政务中心网站互联网精准营销
  • 红酒企业网站模板网页设计尺寸比例
  • 网站建设网站管理网站建站ddp
  • 莱州哪里有做网站的大型企业vi设计
  • 公网ip 做网站网站页面确认书
  • 哪个建站系统适合外贸商城网站建设一个旅游网站建设需求分析
  • 免费做的网站怎么设置域名广西建设厅官方网站电话
  • 湛江网站建设皆选小罗24专业比分网站建设
  • 网站建设销售做些什么工作嘉兴做网站的
  • 漯河公司做网站性价比最高网站建设价格
  • 设计师关注的十大网站网站建设需要服务器么
  • 做外贸soho网站的公司吗上海建设工程造价信息网站
  • 商丘做网站推广的公司了解网站基本知识
  • 有了网站怎样做公众号建立个人网站费用
  • 用电脑做网站的历史在哪里找谷歌优化师是做什么的
  • 网站开发素材代码全国火车站等级最新排名
  • wordpress 4.5.2福州seo排名优化