Jodd - Java界的瑞士军刀轻量级工具包!

简介: Jodd介绍Jodd是对于Java开发更便捷的开源迷你框架,包含工具类、实用功能的集合,总包体积不到1.7M。Jodd构建于通用场景使开发变得简单,但Jodd并不简单!它能让你把事情做得更好,实现你的想法,让你享受编码的乐趣。

Jodd介绍

Jodd是对于Java开发更便捷的开源迷你框架,包含工具类、实用功能的集合,总包体积不到1.7M。


Jodd构建于通用场景使开发变得简单,但Jodd并不简单!它能让你把事情做得更好,实现你的想法,让你享受编码的乐趣。


简而言之,如果你准备造轮子,先看看Jodd实现了没。你可以把Jodd想象成Java的”瑞士军刀”,不仅小,锋利而且包含许多便利的功能。


Jodd提供的功能

提供操作Java bean,


可以从各种数据源加载 Bean,


简化 JDBC 的接连与代码,


剖析 SQL 查询,


处理时间与日期,


操作与格式化 String,


搜索本地硬盘上的文件,


帮助处理 Servlet 请求等。


包含一个很小但实用的基于JSP的MVC框架。


Jodd组成

Jodd 被分成众多模块,按需选择。


Jodd工具包


高性能的工具集合


TypeConverter 一个强大的类型转换工具


BeanUtil 高效的 Bean 工具,支持嵌套的属性,以及标准的集合类


Base64/Base32


JDateTime 增强的时间类


IO 快速高性能的各种 Buffer、Writer、OutputStream


Wildcard 通配符工具


Servlet Servlet 工具,JSP 的标签、函数扩展


FindFile/ClassFinder 强大的文件/类搜索工具,支持通配符&正则表达式匹配


Cache 简单易用的 LRU、LRU、FIFO 缓存


StringUtil 强大的字符串处理工具


Madvoc


轻量级快速开发MVC框架


自动扫描 Actions & Results


参数自动注入,支持嵌套的属性注入,支持标准集合参数的注入


自动导出需要输出的参数


支持通配符/正则表达式路由地址


支持 REST 风格的 URL


支持通过配置文件设置 Action 的拦截器


开放的 API,可轻松扩展


HTTP


轻量级Http客户端


基于socket


支持 cookies


支持上传文件


支持自定义 HTTP 头


支持 gzip


支持 Basic authentication


Props


增强的properties


支持 UTF-8 编码


支持插值操作


支持 ini 类型的区段


支持使用 += 附加值


支持多行模式


Email


易用的 Email 接收发送工具,基于 javax.mail


支持 SSL


支持添加附件


支持 POP3、IMAP


IMAP 接受模式支持定义过滤器


支持解析 EML 文件


Petite


轻量级 IoC 容器


Db & DbOom


轻量级 ORM 框架


Lagarto


高性能的 xml/html 解析框架


Jerry


HTML 解析框架,Java 中的 jQuery,基于 Lagarto


VTor


基于注解的字段验证框架


可设置多配置


易扩展


Proxetta


高性能的代理生成器


总结

可以看出,Jodd集合了Apache的Commons工具包(Lang,IO,BeanUtils,Codec,Email)中的核心功能,MVC、IOC/DI、ORM统统使用自有解决方案(想想Spring),加上简化而优雅的Http处理类(流式调用,媲美基于HttpClient的HCFluent),类似JQuery般操作HTML的Jerry,媲美Joda的JDataTime,甚至疯狂的定义了自己的Prop类用于管理属性。


总之,Jodd = tools + ioc + mvc + db + aop + tx + json + html < 1.7 Mb


相关文章
|
2月前
|
安全 Java API
JAVA并发编程JUC包之CAS原理
在JDK 1.5之后,Java API引入了`java.util.concurrent`包(简称JUC包),提供了多种并发工具类,如原子类`AtomicXX`、线程池`Executors`、信号量`Semaphore`、阻塞队列等。这些工具类简化了并发编程的复杂度。原子类`Atomic`尤其重要,它提供了线程安全的变量更新方法,支持整型、长整型、布尔型、数组及对象属性的原子修改。结合`volatile`关键字,可以实现多线程环境下共享变量的安全修改。
|
3月前
|
安全 Java 调度
解锁Java并发编程高阶技能:深入剖析无锁CAS机制、揭秘魔法类Unsafe、精通原子包Atomic,打造高效并发应用
【8月更文挑战第4天】在Java并发编程中,无锁编程以高性能和低延迟应对高并发挑战。核心在于无锁CAS(Compare-And-Swap)机制,它基于硬件支持,确保原子性更新;Unsafe类提供底层内存操作,实现CAS;原子包java.util.concurrent.atomic封装了CAS操作,简化并发编程。通过`AtomicInteger`示例,展现了线程安全的自增操作,突显了这些技术在构建高效并发程序中的关键作用。
69 1
|
6天前
|
JSON 自然语言处理 Java
这款轻量级 Java 表达式引擎,真不错!
AviatorScript 是一个高性能、轻量级的脚本语言,基于 JVM(包括 Android 平台)。它支持数字、字符串、正则表达式、布尔值等基本类型,以及所有 Java 运算符。主要特性包括函数式编程、大整数和高精度运算、完整的脚本语法、丰富的内置函数和自定义函数支持。适用于规则判断、公式计算、动态脚本控制等场景。
|
29天前
|
Java Apache Maven
Java/Spring项目的包开头为什么是com?
本文介绍了 Maven 项目的初始结构,并详细解释了 Java 包命名惯例中的域名反转规则。通过域名反转(如 `com.example`),可以确保包名的唯一性,避免命名冲突,提高代码的可读性和逻辑分层。文章还讨论了域名反转的好处,包括避免命名冲突、全球唯一性、提高代码可读性和逻辑分层。最后,作者提出了一个关于包名的问题,引发读者思考。
Java/Spring项目的包开头为什么是com?
|
2月前
|
Java API 数据处理
Java 包(package)的作用详解
在 Java 中,包(package)用于组织和管理类与接口,具有多项关键作用:1)系统化组织代码,便于理解和维护;2)提供命名空间,避免类名冲突;3)支持访问控制,如 public、protected、默认和 private,增强封装性;4)提升代码可维护性,实现模块化开发;5)简化导入机制,使代码更简洁;6)促进模块化编程,提高代码重用率;7)管理第三方库,避免命名冲突;8)支持 API 设计,便于功能调用;9)配合自动化构建工具,优化项目管理;10)促进团队协作,明确模块归属。合理运用包能显著提升代码质量和开发效率。
|
2月前
|
Java 数据安全/隐私保护
Java 包(package)的使用详解
Java中的包(`package`)用于组织类和接口,避免类名冲突并控制访问权限,提升代码的可维护性和可重用性。通过`package`关键字定义包,创建相应目录结构即可实现。包可通过`import`语句导入,支持导入具体类或整个包。Java提供多种访问权限修饰符(`public`、`protected`、`default`、`private`),以及丰富的标准库包(如`java.lang`、`java.util`等)。合理的包命名和使用对大型项目的开发至关重要。
|
3月前
|
Java Maven 数据库
|
3月前
|
JavaScript Java API
Java日志通关(二) - Slf4j+Logback 整合及排包
作者日常在与其他同学合作时,经常发现不合理的日志配置以及五花八门的日志记录方式,后续作者打算在团队内做一次Java日志的分享,本文是整理出的系列文章第二篇。
|
3月前
|
Java
Java应用结构规范问题之在biz层的convert包实现转换的问题如何解决
Java应用结构规范问题之在biz层的convert包实现转换的问题如何解决
|
3月前
|
Java
Java 基础语法-面试题(54-63道)(数组+类+包)
Java 基础语法-面试题(54-63道)(数组+类+包)
44 16