本文是精讲resttemplate第2篇,前篇的blog访问地址如下:
精讲resttemplate第1篇-在spring或非spring环境下如何使用
resttemplate只是对其他的http客户端的封装,其本身并没有实现http相关的基础功能。其底层实现是可以配置切换的,我们本小节就带着大家来看一下resttemplate底层实现,及如何实现底层基础http库的切换。
resttemplate有一个非常重要的类叫做httpaccessor,可以理解为用于http接触访问的基础类。下图为源码:
从源码中我们可以分析出以下几点信息
resttemplate 支持至少三种http客户端库。simpleclienthttprequestfactory
。对应的http库是java jdk自带的httpurlconnection。
httpcomponentsasyncclienthttp海市蜃楼文言文requestfactory
。对应的http库是apache httpcomponents。
okhttp3clienthttprequestfactory
。对应的http库是okhttp
可以通过设置trequestfactory方法,来切换restte人生就像扣扣子mplate的底层http客户端实现类库。
从开发人员的反馈,和网上的各种h察举制ttp客户端性能以及易用程度评测来看,okhttp 优于 apache httpcomponents、apache httpcomponents优于httpurlconnection。所以我个人更建议大家将底层http实现切换为okhttp。
以下所讲的切换方法,基于第一篇内容: 精讲resttemplate第1篇-在spring或非spring环境下如何使用
首先通过maven坐标将okhttp的包引入到项目中来
<dependency>qq伤感昵称大全 <groupid>com.squareup.okhttp3<妇女节的由来/groupid> <artifactid>okhttp</artifactid> <version>4.7.2</version></dependency>
如果是spring 环境下通过如下方式使用okhttp3clienthttprequestfactory初始化resttemplate bean对象。
@configurationpublic class contextconfig { @bean("okhttp3") public resttemplate okhttp3resttemplate(){ resttemplate resttemplate = new resttemplate(new okhttp3clienthttprequestfactory()); return resttemplate; }}
如果是非spring环境,直接new resttemplate(new okhttp3clienthttprequestfactory()
之后使用就可以了。
与切换为okhttp方法类似、不再赘述。
<dependency> <groupid>org.apache.httpcomponents</groupid> <artifactid>httpclient</artifactid> <version>4.5.12</version></dependency>
使用httpcomponentsclienthttprequestfactory初始化resttemplate bean对象
@bean("httpclient")public resttemplate httpclientresttemplate(){ resttemplate resttemplate = new resttemplate(new httpcomponentsclienthttprequestfactory()); return resttemplate;}
以上就是resttemplate实现多种底层http客户端类库的切换精讲的详细内容,更多关于resttemplate底层http客户端类库切换的资料请关注www.887551.com其它相关文章!
本文发布于:2023-04-06 04:13:53,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/bc661b0c418d28c1ff99e2f551f00957.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:RestTemplate实现多种底层HTTP客户端类库的切换用法.doc
本文 PDF 下载地址:RestTemplate实现多种底层HTTP客户端类库的切换用法.pdf
留言与评论(共有 0 条评论) |