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

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


Jodd介绍

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

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

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

Jodd提供的功能

  1. 提供操作Java bean,

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

  3. 简化 JDBC 的接连与代码,

  4. 剖析 SQL 查询,

  5. 处理时间与日期,

  6. 操作与格式化 String,

  7. 搜索本地硬盘上的文件,

  8. 帮助处理 Servlet 请求等。

  9. 包含一个很小但实用的基于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

更多关于Jodd的介绍与使用可以到它的官网:https://jodd.org/



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/330900.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring boot 入门荔枝

【0】README spring boot 的4个核心功能介绍&#xff1a; 1. 自动配置&#xff1a; 无需 java配置或 xml配置&#xff0c;spring boot 会自动配置bean &#xff1b; 2. 起步依赖 &#xff1a; 为项目提供依赖管理&#xff0c;特别是解决了 各个 依赖jar 包的兼容性问题&…

基本数据类型与字符串的转换

基本数据类型与字符串的转换 1.字符串转化成其他类型 口诀:需要转成什么类型就用什么类型的包装类调用方法 byte Byte short Short int Integer long Long char Character float Float double Double boolean Boolean2.其他类型转…

Tomcat Get请求的巨坑

转载自 Java程序员注意&#xff1a;Tomcat Get请求的巨坑&#xff01; Tomcat8.5&#xff0c;当Get请求中包含了未经编码的中文字符时&#xff0c;会报以下错误&#xff0c;请求未到应用程序在Tomcat层就被拦截了。 Tomcat报错&#xff1a; java.lang.IllegalArgumentExceptio…

spring boot actuator 入门荔枝

1.创建maven 项目&#xff0c; 通过 http://start.spring.io/ 构建项目结构 2. 3个核心文件内容 ReadinglistApplicatoin.java package com.tangrong;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplicat…

BigDecimal习题

BigDecimal习题 1.定义一个double类型的数组 double[] array{1.2, 0.6, 0.01, 3.2, 5.56, 7.21}; 2.使用BigDecimal求数组中元素的平均值&#xff0c;保留2位小数(四舍五入) 注意&#xff1a;每一个元素都需要封装为BigDecimal对象&#xff0c;才能进行运算&#xff0c;运算的…

Spring Boot 发布 jar 包转为 war 包秘籍。

转载自 Spring Boot 发布 jar 包转为 war 包秘籍。Spring Boot是支持发布jar包和war的&#xff0c;但它推荐的是使用jar形式发布。使用jar包比较方便&#xff0c;但如果是频繁修改更新的项目&#xff0c;需要打补丁包&#xff0c;那这么大的jar包上传都是问题。所以&#xff0c…

java的几种对象(PO,VO,DAO,BO,POJO)解释

本文转自&#xff1a; http://blog.csdn.net/bzhxuexi/article/details/8227808 Java的几种对象(PO,VO,DAO,BO,POJO)解释 一、PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录&#xff0c;多个记录…

Redis 的 4 大法宝,2018 必学中间件

转载自 Redis 的 4 大法宝&#xff0c;2018 必学中间件&#xff01;Redis是什么&#xff1f;全称&#xff1a;REmote DIctionary ServerRedis是一种key-value形式的NoSQL内存数据库&#xff0c;由ANSI C编写&#xff0c;遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、…

数据交换方法

数据交换方法 一.定义三方变量 【代码实现常用】 int a9; int b10;//定义第三方变量 int tempa; ab; btemp;System.out.println("a"a);//a10 System.out.println("b"b);//b9二.基本位运算&#xff08;^&#xff09; 概念&#xff1a; 参加运算的两个数据…

高级 Java 必须突破的 10 个知识点

转载自 高级 Java 必须突破的 10 个知识点&#xff01; 工作多少年了&#xff0c;还在传统公司写if / for 等简单的代码&#xff1f;那你就真的要被社会淘汰了&#xff0c;工作多年其实你与初级工程师又有多少区别呢&#xff1f;那么作为一个高级Java攻城狮需要突破哪些知识点呢…

java动态代理和cglib动态代理

本文转自&#xff1a; http://blog.csdn.net/leon709/article/details/9529307 动态代理应用广泛&#xff0c;spring&#xff0c;Struts等框架很多功能是通过动态代理&#xff0c;或者进一步封装来实现的。 常见的动态代理模式实现有Java API提供的动态代理和第三方开源类库CG…

排名前 16 的 Java 工具类

转载自 干货&#xff1a;排名前 16 的 Java 工具类&#xff01;在Java中&#xff0c;工具类定义了一组公共方法&#xff0c;这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法按使用流行度排名&#xff0c;参考数据来源于Github上随机选取的5万个开源项目…

匿名内部类与Lambda表达式习题

匿名内部类与Lambda表达式习题 1.写一个函数式接口 public Operation{ public int calc(int a,int b); } 在测试类中写一个method方法&#xff0c;参数为Operation和a,b public static void method(Operation op) int result op.calc(a,b); System.out.println(result); } 在…

MySQL 调优/优化的 101 个建议!

转载自 MySQL 调优/优化的 101 个建议&#xff01; MySQL是一个强大的开源数据库。随着MySQL上的应用越来越多&#xff0c;MySQL逐渐遇到了瓶颈。这里提供 101 条优化 MySQL 的建议。有些技巧适合特定的安装环境&#xff0c;但是思路是相通的。我已经将它们分成了几类以帮助你理…

CGLIB依赖ASM(关于java字节码框架ASM的学习)

本文转自&#xff1a; http://www.cnblogs.com/liuling/archive/2013/05/25/asm.html 一、什么是ASM ASM是一个java字节码操纵框架&#xff0c;它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件&#xff0c;也可以在类被加载入 Java 虚拟机之前动…

二分查找实现

二分查找实现 1.调用Arrays中的binarySearch方法即可实现 【使用前提&#xff1a;数组必须为升序排列】 public class Demo1 {public static void main(String[] args) {int[] arr {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};//查找元素定为4int key 4;int index1 Arrays.binarySea…

Java程序员必须掌握的常用Linux命令

转载自 Java程序员必须掌握的常用Linux命令 Java程序员也是半个运维了&#xff0c;在日常开发中经常会接触到Linux环境操作。小公司的开发人员甚至是兼了全运维的工作&#xff0c;下面整理了一些常用的Linux操作命令。 Linux常用指令 ls   显示文件或目录-l 列…

分类器评价指标

转自&#xff1a;http://www.cnblogs.com/549294286/p/3621740.html&#xff1b; By the way, classic post like 分类指标准确率(Precision)和正确率(Accuracy)的区别 精度和召回率是广泛用于信息检索和统计学分类领域的两个度量值&#xff0c;用来评价结果的质量。其中精度是…

冒泡排序、快排实现

排序实现 1.可调用Arrays.sort方法实现 public class Demo3 {public static void main(String[] args) {int []arr{3,5,2,1,4};Arrays.sort(arr);//可调用Arrays.toString方法打印数组System.out.println(Arrays.toString(arr));} }打印结果&#xff1a; -------------------…

ElasticJob-分布式作业调度神器,你们还在用Quartz吗

转载自 ElasticJob&#xff0d;分布式作业调度神器&#xff0c;你们还在用Quartz吗&#xff1f;&#xff01; 简介 Elastic-Job是一个分布式调度解决方案&#xff0c;由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。 Elastic-Job-Lite定位为轻量级无中心化解…