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(),真的会创建一 ...
随机推荐
- [codeforces743E]Vladik and cards
E. Vladik and cards time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
- python基础----多态与多态性、super函数用法、继承原理
一.多态与多态性 ㈠多态: 多态指的是一类事物有多种形态, ...
- “Spring.Context.Support.ContextRegistry”的类型初始值设定项引发异常。-解决方法
注释掉web/app.config中的:
- java8系列
参见地址:https://segmentfault.com/a/1190000012211339
- 洛谷P1195 口袋的天空
口袋的天空 327通过 749提交 题目提供者该用户不存在 标签云端 难度普及+/提高 时空限制1s / 128MB 提交 讨论 题解 最新讨论更多讨论 暂时没有讨论 题目背景 小杉坐在教室里,透 ...
- 【题解】【LibreOJ Beta Round #5】游戏 LOJ 531 基环树 博弈论
Prelude 题目链接:萌萌哒传送门♪(^∇^*) Subtask 1 & 2 这是什么鬼题面... 首先要看出,这就是一个基环树博弈. 具体题意:给出一个基环内向树,一个棋子初始在\(1\ ...
- 1.Android JUnit Runner(使用AndroidStudio)
一.Android JUnit Runner介绍 1.Android JUnit Runner 1)是一个测试运行器,用于运行Junit3和Junit4的Android测试包 2)替换Instrume ...
- 解决SQL Server 2008 64位系统无法导入Access/Excel的问题
最近更换了新服务器,操作系统Windows Server 2008 X64,数据库SQL Server 2008 X64,Office 2007(好像只有32位),在存储过程执行OpenDatasou ...
- 第2章-Vue.js指令
一.学习目标 了解 什么 是 Vue.js 指令 理解 Vue.js 指令的 用途 掌握 Vue.js 指令的书写规范 能够 使用 Vue.js 指令完成部门页面交互效果(难点和重点) 二.指令的基本 ...
- OpenCV---图像梯度
图像梯度 推文:[OpenCV入门教程之十二]OpenCV边缘检测:Canny算子,Sobel算子,Laplace算子,Scharr滤波器合辑 图像梯度可以把图像看成二维离散函数,图像梯度其实就是这个 ...