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(),真的会创建一 ...
随机推荐
- ZJOI2012网络 题解报告【LCT】
题目描述 有一个无向图G,每个点有个权值,每条边有一个颜色.这个无向图满足以下两个条件: 对于任意节点连出去的边中,相同颜色的边不超过两条. 图中不存在同色的环,同色的环指相同颜色的边构成的环. 在这 ...
- HDU 4383 To The Moon 解题报告
HDU 4383 To The Moon 题意翻译 已知一个长为\(n\)的序列\(a\),你需要进行下面的四种操作. C l r d 将区间\([l,r]\)中的数加上\(d\),同时时间加\(1\ ...
- 2017-2018-2 20165218 实验三《敏捷开发与XP实践》实验报告
实验三 敏捷开发与XP实践 课程:java程序设计 姓名:赵冰雨 学号:20165218 指导教师:娄嘉鹏 实验日期:2018.4.30 实验内容.步骤与体会: (一)编码标准 //实验要求 //参考 ...
- CentOS 7网络故障
By francis_hao Nov 2,2017 在像往常一样打开了虚拟机后,打开xshell准备连接到centos,可是连不上,发现连接的网卡没有启动,使用systemctl启动netw ...
- VSAM:视频监控系统 A System for Video Surveillance and Monitoring
VSAM(VideoSurveillance and Monitoring)视频监控系统 Robotics Institute CMU 1:引言 2:试验床介绍 3:基本的视频分析算法:运动目标检测, ...
- [JLOI2014] 松鼠的新家 (lca/树上差分)
[JLOI2014]松鼠的新家 题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在 ...
- dfs.datanode.du.reserved 预留空间不生效的问题
生产环境(cdh5.5.1)遇到一个问题:已经设置 dfs.datanode.du.reserved预留空间为20G,但是磁盘仍然被写满了. 当挂载磁盘作为datanode的存储空间,如果磁盘大小为2 ...
- \G,sql中select 如果太长,可以在后面放\G,竖行显示~~~~
1.使用\G按行垂直显示结果 如果一行很长,需要这行显示的话,看起结果来就非常的难受. 在SQL语句或者命令后使用\G而不是分号结尾,可以将每一行的值垂直输出. mysql> select * ...
- 「Python-Django」django 实现将本地图片存入数据库,并能显示在web上
1. 将图片存入数据库 关于数据库基本操作的学习,请参见这一篇博客:https://www.cnblogs.com/leejy/p/6745186.html 这里我默认,您已经会了基本操作,能在数据库 ...
- PlantUML —— 应用于 Eclipse 的简单快速的 UML 编辑软件
PlantUML —— 应用于 Eclipse 的简单快速的 UML 编辑软件 简介: 在应用系统软件开发过程中,如果软件由很多对象组成,它的结构仅仅凭借分析很难理清,同时为了有利于软件的开发及重用, ...