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. 信息收集利器——Nmap

    环境:kali2.0 常用的Nmap命令总结: 1.扫描单个IP地址 nmap 192.168.56.1 2.扫描一个网络中IP地址范围 nmap 192.168.56.1-255 3.扫描目标主机的 ...

  2. 洛谷 P2123 皇后游戏 解题报告

    P2123 皇后游戏 题意: 给定\(T\)组长为\(n\)的\(A\),\(B\)数组和\(C\)的计算方法,求一种排列方法,使最大的\(C\)最小化. 数据范围: \(1 \le T \le 10 ...

  3. 【bzoj3170】[Tjoi2013]松鼠聚会

    3170: [Tjoi2013]松鼠聚会 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1670  Solved: 885[Submit][Statu ...

  4. 【分块】【P2801】教主的魔法

    Description 给你一个长度为 \(n\) 的序列,要求资瓷区间加,查询区间大于等于 \(k\) 的数的个数 Input 第一行是 \(n~,~Q\) 代表序列长度和操作个数 下面一行代表序列 ...

  5. 【二维树状数组】【CF10D】 LCIS

    传送门 Description 给你两个串,求他们的最长公共上升子序列 Input 第一行是第一个串的长度\(n\) 第二行\(n\)个数代表第一个串 第三行是第二个串的长度\(m\) 第四行\(m\ ...

  6. kotlin 变量声明

    Kotlin 是强类型的语言,Kotlin 要求所有的变量必须先声明.后使用,声明变量时必须显示或隐式指定变量的类型(隐式的是指,声明的时候同时初始化,这样编译的时候就可以推断出该变量的类型了,Jav ...

  7. [ldap]ldap server安装以及图形化操作

    https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-a-basic-ldap-server-on ...

  8. tp between

    $a = array( 'time' => array('between',[c,d]) ); c<= time <= d

  9. web启动@Autowired不能自动注入

    使用struts2,下面为action代码 Java代码 package com.edar.web.platform; import org.apache.struts2.convention.ann ...

  10. CSS3之伪元素选择器和伪类选择器

    伪类选择器,和一般的DOM中的元素样式不一样,它并不改变任何DOM内容.只是插入了一些修饰类的元素,这些元素对于用户来说是可见的,但是对于DOM来说不可见.伪类的效果可以通过添加一个实际的类来达到. ...