Dubbo中的一些工具类
在此之前首先恭喜一下意大利获得2020欧洲杯冠军!!!
最近不忙的时候在看Dubbo源码,框架没怎么看懂,但发现其中某些工具类整挺好,用最近网上流行的话表达此时的想法就是–拿来吧你!
PojoUtils
首先入场的是PojoUtils–一个处理pojo的工具类.相信朋友们在工作时难免会碰到过将map转对象的场景,也许是你在要解析配置文件的时候吧,至少在Dubbo里解析yaml的时候用的了一个mapToPojo(Map<String, Object> map, Class cls)的方法,无非是用反射实现,其中还调用了ReflectUtils的一些方法,ReflectUtils也是Dubbo开发人员写的其中一个工具类,该工具类提供了一些反射相关的方法,比如你想获取某个类的属性map时,不妨来这里看看大佬们如何写的,在看看自己写的,比较一下,emm…顺便再反思一下.
StringUtils
这个StringUtils是Dubbo编写的,可不是spring的那个噢.其中均是关于字符串的处理,比如removeEnd(final String str, final String remove),就是删除末尾某个字符串:etc.StringUtils.removeEnd(“www.domain.com”, “.com”) = “www.domain”.
UrlUtils
这个是关于url的工具类.如果兄弟你遇到要自己写http请求并解析url时,可以来参考一下这个工具类,甚至你发现该项目还没有个像样的HttpUtils,那么你把Dubbo中的NetUtils拿过来结合自己的项目改吧改吧.
LRUCache&LFUCache
LRU和LFU相比兄弟们都比较熟悉了,Dubbo这里呢做了两个相关的工具类.看看代码实现,记得在大学时有一节上机课老师让用LRU算法模拟pipe,具体什么记不清了,只记得快到下课时才写出来,那时候还是c语言哈哈,一晃毕业三年了都~
最后
出色的框架如spring-framework,mybatis3,dubbo等都不乏优秀的工具类,但是不能一味地喊"拿来吧你!",打铁还需自身硬,提升能力才是王道,希望大家把如今网上流行的"拿来吧你!"仅仅当做一个调侃,共勉~