Java是最流行的开源语言之一。

有赖于Java的开源,涌现出一大批优秀的开源框架,基本涵盖了开发中的方方面面,让程序员可以专注于自己的业务逻辑。

今天,我们就来聊聊在开发中,经常被我们所忽略的【工具包】。

Apache Commons

StringUtils 绝对是力荐的工具类!String本身作为Java中最常使用的数据类型,有一个好的工具类,让你在开发时犹如手握一把瑞士军刀般得心应手。

介绍几个StringUtils中的常用方法:

1. equals 比较两个String是否相等,免去了频繁判断非null的麻烦

2. isEmpty  判断String是否为null或者空字符串

3. join(array,separator) 以分隔符连接array中的变量

同时,在Apache Commons中还有诸如CollectionUtils、MapUtils、SetUtils、NumberUtils,DateUtils,FileUtils等常用数据类型的工具包。

Google Guava

我们在工作中经常使用Java的泛型,在引入Guava后,可以变得非常清爽!


相比于Apache Commons提供基础的工具类,Guava提供了很多我们常用的数据结构

我们经常在开发中要使用类似数据库表的数据格式,Guava提供了Table格式。以及我们经常使用的Map<K,List<V>>的数据结构


Guava的Cache非常适合轻量级的缓存设计!


Apache Shiro

轻量级的权限框架,可以和spring MVC进行结合使用。

Shiro可以统一配置安全路径


也可以通过代码,验证权限

JSOUP

Java解析Html的利器,目前很多的Java爬虫都是利用JSOUP来解析网页的。

Jackson

我们经常要转换JavaBean与JSON,Jackson绝对是不二之选。相比于国产的Fastjson,学习曲线上有一些陡峭,但是一旦遇到一些复杂的需求,它绝对不会让你失望。

Org Reflections

你经常需要搜索隐藏在Classpath下的一些文件? 你经常需要找到某一类Class? Reflections号称运行时元数据分析,它的功能绝对让你眼前一亮。

JOOQ

你是否头痛于在Java中书写SQL?对于处女座的你简直如噩耗一般? 有了JOOQ,你的春天来了~

我们总是喜欢一些大而全的框架,例如Spring,hibernate等等,却甚少关注“平庸”的工具包,很多人称之为这是代码的“细节”,是NB的程序员不需要关注的。

我却恰恰认为,细节决定成败。评比一个系统代码的好坏,绝不是你用了Spring,而我用了老旧的Struts。而是基于这些工具包之上的一句句最细节的代码,它更彰显一个系统的品味,一个程序员的追求!

Java开发必用的工具包的更多相关文章

  1. Java编程思想重点笔记(Java开发必看)

    Java编程思想重点笔记(Java开发必看)   Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而 ...

  2. Java开发必会的Linux命令

    Java开发必会的Linux命令 作为一个Java开发人员,有些常用的Linux命令必须掌握.即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令.因为很多服务器 ...

  3. java开发必学知识:动态代理

    目录 1. 引言 2. 代理模式及静态代理 2.1 代理模式说明 2.2 静态代理 2.3 静态代理局限性 3. 动态代理 3.1 JAVA反射机制 3.2 JDK动态代理 3.2.1 JDK动态代理 ...

  4. Java 开发必会的 Linux 命令

    作为一个Java开发人员,有些常用的Linux命令必须掌握.即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令.因为很多服务器上都是Linux系统.所以,要和服 ...

  5. Java开发必装的IntelliJ IDEA插件

    IDEA 插件简介 常见的IDEA插件主要有如下几类: 常用工具支持 Java日常开发需要接触到很多常用的工具,为了便于使用,很多工具也有IDEA插件供开发使用,其中大部分已经在IDEA中默认集成了. ...

  6. 【转】Java 开发必会的 Linux 命令

    转自:https://www.cnblogs.com/zhuawang/p/5212809.html 作为一个Java开发人员,有些常用的Linux命令必须掌握.即时平时开发过程中不使用Linux(U ...

  7. Spring基础知识汇总 Java开发必看

    Spring简介 Spring框架由Rod Johnson开发,2004年发布了Spring框架的第一版.Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅 ...

  8. [z]Java开发必会的Linux命令

    1.查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件. find . -name "*.xml" 递归查找所有的xm ...

  9. java开发必背API

    1.java.io.file类,File用于管理文件或目录: 所属套件:java.io File file = new File(fileStringPath); 1)file.mk(),真的会创建一 ...

随机推荐

  1. ZJOI2012网络 题解报告【LCT】

    题目描述 有一个无向图G,每个点有个权值,每条边有一个颜色.这个无向图满足以下两个条件: 对于任意节点连出去的边中,相同颜色的边不超过两条. 图中不存在同色的环,同色的环指相同颜色的边构成的环. 在这 ...

  2. HDU 4383 To The Moon 解题报告

    HDU 4383 To The Moon 题意翻译 已知一个长为\(n\)的序列\(a\),你需要进行下面的四种操作. C l r d 将区间\([l,r]\)中的数加上\(d\),同时时间加\(1\ ...

  3. 2017-2018-2 20165218 实验三《敏捷开发与XP实践》实验报告

    实验三 敏捷开发与XP实践 课程:java程序设计 姓名:赵冰雨 学号:20165218 指导教师:娄嘉鹏 实验日期:2018.4.30 实验内容.步骤与体会: (一)编码标准 //实验要求 //参考 ...

  4. CentOS 7网络故障

    By francis_hao    Nov 2,2017   在像往常一样打开了虚拟机后,打开xshell准备连接到centos,可是连不上,发现连接的网卡没有启动,使用systemctl启动netw ...

  5. VSAM:视频监控系统 A System for Video Surveillance and Monitoring

    VSAM(VideoSurveillance and Monitoring)视频监控系统 Robotics Institute CMU 1:引言 2:试验床介绍 3:基本的视频分析算法:运动目标检测, ...

  6. [JLOI2014] 松鼠的新家 (lca/树上差分)

    [JLOI2014]松鼠的新家 题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在 ...

  7. dfs.datanode.du.reserved 预留空间不生效的问题

    生产环境(cdh5.5.1)遇到一个问题:已经设置 dfs.datanode.du.reserved预留空间为20G,但是磁盘仍然被写满了. 当挂载磁盘作为datanode的存储空间,如果磁盘大小为2 ...

  8. \G,sql中select 如果太长,可以在后面放\G,竖行显示~~~~

    1.使用\G按行垂直显示结果 如果一行很长,需要这行显示的话,看起结果来就非常的难受. 在SQL语句或者命令后使用\G而不是分号结尾,可以将每一行的值垂直输出. mysql> select * ...

  9. 「Python-Django」django 实现将本地图片存入数据库,并能显示在web上

    1. 将图片存入数据库 关于数据库基本操作的学习,请参见这一篇博客:https://www.cnblogs.com/leejy/p/6745186.html 这里我默认,您已经会了基本操作,能在数据库 ...

  10. PlantUML —— 应用于 Eclipse 的简单快速的 UML 编辑软件

    PlantUML —— 应用于 Eclipse 的简单快速的 UML 编辑软件 简介: 在应用系统软件开发过程中,如果软件由很多对象组成,它的结构仅仅凭借分析很难理清,同时为了有利于软件的开发及重用, ...