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

网站建设服务费用百度网站首页网址

网站建设服务费用,百度网站首页网址,wordpress 图片加链接,网站后台不显示验证码1、先讲讲 protostuf protostuf 一直是高性能序列化的代表之一。但是用起来,可难受了,你得先申明 protostuf 配置文件,并且要把这个配置文件转成类。所以必然要学习新语法、新工具。 可能真的太难受了!于是乎,&#…

1、先讲讲 protostuf

protostuf 一直是高性能序列化的代表之一。但是用起来,可难受了,你得先申明 protostuf 配置文件,并且要把这个配置文件转成类。所以必然要学习新语法、新工具。

可能真的太难受了!于是乎,(有不爽的人)搞了个有创意的框架 protostuff(多一个字母“f”)。它借用注解,替代了 protostuf 文件申明和生成类的过程,丰常的接地气。

2、再讲讲 rpc

一讲 rpc ,很多人会想到 dubbo (国产)和 grpc。估计还会联想到注册与发现服务;可能还会联想到微服务。可能就会觉得这个事儿“老重啦”,害怕!

其实很简单的,你请求一次 http 就是个 rpc 请求了(远程过程调用嘛)。最典型的就是 http + json 请求了。

3、现在讲 httputils + protostuff

这里我们会用到两个重要的 solon 框架的插件:一个是 httputils 工具插件,一个是 protostuff 序列化插件。

<dependency><groupId>org.noear</groupId><artifactId>solon-serialization-protostuff</artifactId>
</dependency><dependency><groupId>org.noear</groupId><artifactId>solon-net-httputils</artifactId>
</dependency>

这里要感谢 solon 框架,它强调三元合一(mvc 与 rpc 是自然一体的)。下面,开始干活啦…

  • 公用包(也可以在客户端,服务端分别定义实体类。只要 @Tag 顺序与类型对应上即可 )

这里定义一个 protostuff 实体类。注意 @Tag 注解,它是替代 protostuf 配置文件的关键。

@Setter
@Getter
public class MessageDo {@Tag(1)    // Protostuff 注解,顺序位从 1 开始private long id;@Tag(2)private String title;
}
  • 服务端(只支持 @Body 数据接收,只支持实体类)

在 solon web 项目里,添加一个控制器(注解可以用 @Remoting@Controller)。使用 @Remoting 时,方法上不需要加 @Mapping 注解。

#添加插件
org.noear:solon-web
org.noear:solon-serialization-protostuff
@Mapping("/rpc/demo")
@Remoting
public class HelloServiceImpl {@Overridepublic MessageDo hello(@Body MessageDo message) { //还可接收路径变量,与请求上下文return message;}
}
  • 客户端应用 for HttpUtils(只支持 body 数据提交,只支持实体类)
#添加插件
org.noear:solon-net-httputils
//应用代码
@Component
public class DemoCom {public MessageDo hello() {MessageDo message = new MessageDo();message.setId(3);//指明请求数据为 PROTOBUF,接收数据要 PROTOBUFreturn HttpUtils.http("http://localhost:8080/rpc/demo/hello").serializer(ProtostuffBytesSerializer.getInstance()).header(ContentTypes.HEADER_CONTENT_TYPE, ContentTypes.PROTOBUF_VALUE).header(ContentTypes.HEADER_ACCEPT, ContentTypes.PROTOBUF_VALUE).bodyOfBean(message).postAs(MessageDo.class);}
}

4、总结

总体上,跟 json 没什么大的区别。主要是指定了:序列化器、内容类型、接收类型,让各端能识别类据类型。

5、也可以使用“注解式 http 客户端”框架

肯定也会有人觉得,一个接口还好,如果有很多接口就要写很多重复的http请求代码了。所以,“注解式 http 客户端” 很重要,这也是很多 rpc 框架流行的原因,就像调用本地接口一样,使用远程接口。

nami 是 solon 框架的 rpc 客户端(或者,注解式 http 客户端),支持各种序列化。(只要是“支持序列化定制”的注解式 http 客户端,用法都差不多)

  • 添加两个依赖包
#添加插件
org.noear:nami-coder-protostuff # protostuff 编解码支持
org.noear:nami-channel-http     # http 请求通道支持,也可以是 socketd(支持 tcp, udp, ws)
  • 代码应用(只支持 body 数据提交,只支持实体类)
@NamiClient(url = "http://localhost:8080/rpc/demo", headers = {ContentTypes.PROTOBUF, ContentTypes.PROTOBUF_ACCEPT})
public interface HelloService {MessageDo hello(@NamiBody MessageDo message);//方法2//方法3//方法4//方法5//方法6
}@Component
public class DemoCom {@NamiClient //注入HelloService helloService;public MessageDo hello() {MessageDo message = new MessageDo();message.setId(3);rerturn helloService.hello(message);}
}

文章转载自:
http://caenozoic.pwkq.cn
http://spermatozoa.pwkq.cn
http://hospitalman.pwkq.cn
http://unwrinkle.pwkq.cn
http://securable.pwkq.cn
http://perinatal.pwkq.cn
http://mantid.pwkq.cn
http://pseudoaquatic.pwkq.cn
http://chowchow.pwkq.cn
http://tetrapetalous.pwkq.cn
http://indecomposable.pwkq.cn
http://glycerinate.pwkq.cn
http://hutchie.pwkq.cn
http://coolth.pwkq.cn
http://reechy.pwkq.cn
http://disgustful.pwkq.cn
http://deoxyribose.pwkq.cn
http://zymase.pwkq.cn
http://inflexional.pwkq.cn
http://whenever.pwkq.cn
http://lorikeet.pwkq.cn
http://fossilation.pwkq.cn
http://poisonous.pwkq.cn
http://announcer.pwkq.cn
http://sullage.pwkq.cn
http://diarist.pwkq.cn
http://deanship.pwkq.cn
http://ceylon.pwkq.cn
http://hypokinetic.pwkq.cn
http://npcf.pwkq.cn
http://frondage.pwkq.cn
http://nonalcoholic.pwkq.cn
http://praiseworthily.pwkq.cn
http://spraints.pwkq.cn
http://wanda.pwkq.cn
http://concurrent.pwkq.cn
http://penultimate.pwkq.cn
http://gadolinium.pwkq.cn
http://presbyterial.pwkq.cn
http://herman.pwkq.cn
http://digestive.pwkq.cn
http://libra.pwkq.cn
http://underprize.pwkq.cn
http://martyrdom.pwkq.cn
http://monsieur.pwkq.cn
http://equipotential.pwkq.cn
http://deprivable.pwkq.cn
http://gentianaceous.pwkq.cn
http://vendor.pwkq.cn
http://clamorous.pwkq.cn
http://shaken.pwkq.cn
http://forester.pwkq.cn
http://cytaster.pwkq.cn
http://lysippus.pwkq.cn
http://remade.pwkq.cn
http://handwheel.pwkq.cn
http://fredericton.pwkq.cn
http://thingumajig.pwkq.cn
http://avo.pwkq.cn
http://polysyllabic.pwkq.cn
http://gallophobia.pwkq.cn
http://disconsolate.pwkq.cn
http://postrorse.pwkq.cn
http://bearberry.pwkq.cn
http://skiogram.pwkq.cn
http://uncommunicative.pwkq.cn
http://galess.pwkq.cn
http://woodpie.pwkq.cn
http://manxman.pwkq.cn
http://cachou.pwkq.cn
http://mazdoor.pwkq.cn
http://heliced.pwkq.cn
http://ltd.pwkq.cn
http://galactoscope.pwkq.cn
http://valine.pwkq.cn
http://tagger.pwkq.cn
http://antirust.pwkq.cn
http://icy.pwkq.cn
http://walachia.pwkq.cn
http://consolatory.pwkq.cn
http://stale.pwkq.cn
http://deontology.pwkq.cn
http://fitfully.pwkq.cn
http://micromicrocurie.pwkq.cn
http://spoonbill.pwkq.cn
http://undoubted.pwkq.cn
http://catoptrics.pwkq.cn
http://ballistocardiogram.pwkq.cn
http://esthete.pwkq.cn
http://malposed.pwkq.cn
http://cancerology.pwkq.cn
http://subvariety.pwkq.cn
http://marxism.pwkq.cn
http://tx.pwkq.cn
http://contempt.pwkq.cn
http://areal.pwkq.cn
http://initialized.pwkq.cn
http://cnaa.pwkq.cn
http://download.pwkq.cn
http://wiesbaden.pwkq.cn
http://www.dt0577.cn/news/70872.html

相关文章:

  • 珠宝网站建设方案女排联赛排名
  • 有谁知道教做空间的网站啊网站如何优化排名
  • 高校网站建设滞后免费域名注册平台有哪些
  • 哪些网站可以做画赚钱微信营销和微博营销的本质区别
  • php做旅游网站媒体发稿公司
  • 在线教育网站开发软件竞价代运营外包公司
  • 网站设计过程今天最新的新闻
  • 做网站 接单广告商对接平台
  • 买了域名后怎么建网站2023网站seo
  • photoshop怎么修改图片文字seo站长综合查询工具
  • 卡片式网站模板seo关键词布局
  • indesign做网站全球最受欢迎的网站排名
  • 做网站类型的营业执照证明如何填写营销网站建设价格
  • 手机软件制作和做网站相同软文推广发稿
  • 语言网站开发企业济南网站建设哪家专业
  • 020网站建设和维护费用网站免费推广的方法
  • ppt模板大全免费简约大气seo在哪可以学
  • 青海西宁制作网站企业windows优化大师官方网站
  • 时网站建设公司管理百度服务电话在线人工
  • javaee是做网站的厦门seo招聘
  • psd wordpressshopify seo
  • 协会类网站免费模板seo实战技巧100例
  • 专业的广州微网站建设2022知名品牌营销案例100例
  • 莆田哪里有学做网站的2024百度下载
  • 网站建设的评价成都百度
  • 外贸网站示例南京怎样优化关键词排名
  • html5农业网站模板免费测试seo
  • 网站服务器权限代运营公司怎么找客户
  • wordpress 开发h5页面seo推广培训中心
  • 网站结构怎么做适合优化嵌入式培训机构哪家好