Java开发必用的工具包
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开发必用的工具包的更多相关文章
- Java编程思想重点笔记(Java开发必看)
Java编程思想重点笔记(Java开发必看) Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而 ...
- Java开发必会的Linux命令
Java开发必会的Linux命令 作为一个Java开发人员,有些常用的Linux命令必须掌握.即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令.因为很多服务器 ...
- java开发必学知识:动态代理
目录 1. 引言 2. 代理模式及静态代理 2.1 代理模式说明 2.2 静态代理 2.3 静态代理局限性 3. 动态代理 3.1 JAVA反射机制 3.2 JDK动态代理 3.2.1 JDK动态代理 ...
- Java 开发必会的 Linux 命令
作为一个Java开发人员,有些常用的Linux命令必须掌握.即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令.因为很多服务器上都是Linux系统.所以,要和服 ...
- Java开发必装的IntelliJ IDEA插件
IDEA 插件简介 常见的IDEA插件主要有如下几类: 常用工具支持 Java日常开发需要接触到很多常用的工具,为了便于使用,很多工具也有IDEA插件供开发使用,其中大部分已经在IDEA中默认集成了. ...
- 【转】Java 开发必会的 Linux 命令
转自:https://www.cnblogs.com/zhuawang/p/5212809.html 作为一个Java开发人员,有些常用的Linux命令必须掌握.即时平时开发过程中不使用Linux(U ...
- Spring基础知识汇总 Java开发必看
Spring简介 Spring框架由Rod Johnson开发,2004年发布了Spring框架的第一版.Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅 ...
- [z]Java开发必会的Linux命令
1.查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件. find . -name "*.xml" 递归查找所有的xm ...
- java开发必背API
1.java.io.file类,File用于管理文件或目录: 所属套件:java.io File file = new File(fileStringPath); 1)file.mk(),真的会创建一 ...
随机推荐
- 聊聊flink的Async I/O
// This example implements the asynchronous request and callback with Futures that have the // inter ...
- 【BZOJ1923】外星千足虫(线性基)
[BZOJ1923]外星千足虫(线性基) 题面 BZOJ 洛谷 Description Input 第一行是两个正整数 N, M. 接下来 M行,按顺序给出 Charles 这M次使用"点足 ...
- 洛谷 P4093 [HEOI2016/TJOI2016]序列 解题报告
P4093 [HEOI2016/TJOI2016]序列 题目描述 佳媛姐姐过生日的时候,她的小伙伴从某宝上买了一个有趣的玩具送给他.玩具上有一个数列,数列中某些项的值可能会变化,但同一个时刻最多只有一 ...
- 【Python3的进制扫盲】
一.进制 1.进制简介 进制就是进位制,是人们规定的一种进位方法.计算机底层的数据运算和存储都是二进制数据.计算机语言就是二进制,计算机能直接识别二进制数据,其它数据都不能直接识别. 2.常用进制 对 ...
- 【bzoj1022】小约翰的游戏John
Portal -->bzoj1022 Solution 这题其实是裸的反Nim,这里主要是为了写反Nim游戏的证明 首先给出反Nim(anti-nim)的定义和结论: [定义]桌子上 ...
- 洛谷P1890 gcd区间
题目描述 给定一行n个正整数a[1]..a[n]. m次询问,每次询问给定一个区间[L,R],输出a[L]..a[R]的最大公因数. 输入输出格式 输入格式: 第一行两个整数n,m. 第二行n个整数表 ...
- jsp 的 3 个编译指令
JSP 的编译指令是通知 JSP 引擎的消息,它不直接生成输出. 常见的编译指令有如下三个: 1.page:该指令是针对当前页面的指令 2.include:用于指定包含另一个页面 3.taglib:用 ...
- uboot&kernel&system
- Python学习笔记 (十二)偏函数
摘抄:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014318447438 ...
- 重构改善既有代码设计--重构手法11:Move Field (搬移字段)
你的程序中,某个字段被其所驻类之外的另一个类更多的用到.在目标类建立一个新字段,修改源字段的所有用户,令它们改用新字段. 动机:在类之间移动状态和行为,是重构过程中必不可少的措施.随着系 ...