Jodd 是一款面向 Java 开发者的开源工具集,将日常编码中频繁使用的工具类与小型框架整合到一起。整个库的体积被控制在 1.5MB 以内,却覆盖了 Bean 操作、数据库访问、MVC、依赖注入、JSON 解析等多个方面。它像一把多功能的瑞士军刀,模块划分清晰,开发者可以按需引入,不必为用不到的功能买单。Jodd 的定位是简洁而强大,在保持轻量的同时,尽力简化常见的开发任务。

Jodd 的模块可大致分为工具类与小型框架两类,每一块都能独立使用
工具类模块中,jodd-core 提供了 Printf、JDateTime、StringUtil 等基础工具;jodd-bean 负责 Bean 的属性操作与类型检查;jodd-props 用来替代传统的 Properties 配置;jodd-email 简化了邮件收发流程;jodd-upload 处理 HTTP 文件上传;jodd-servlets 附带 Servlet 工具和一套 JSP 标签库;jodd-http 则是轻巧的 HTTP 客户端
框架类模块里,jodd-madvoc 是一个 MVC 框架,jodd-petite 是依赖注入容器,jodd-lagarto 能解析 HTML/XML 并提供类似 jQuery 的筛选能力,jodd-proxetta 支持动态代理并获取函数参数名,jodd-dboom 对数据库访问做了轻量封装,jodd-json 负责 JSON 的解析与序列化,jodd-vtor 则提供基于注解的字段验证
它还内置了一个基于 JSP 的小型 MVC 框架,虽小但实用。相比传统的 Spring SimpleFormController,Jodd 鼓励使用 implements Controller 的方式,统一了 controller 的写法
在 JSP 页面中,Jodd 的标签库可以直接绑定表单字段,省去逐字段手工赋值的麻烦。对于作为 formBean 的普通 JavaBean,没有任何额外要求,任意 bean 都能直接使用
1、 将 jodd.jar 放入 WEB-INF/lib 目录,并在 web.xml 中声明标签库:<taglib><taglib-uri>jodd</taglib-uri><taglib-location>/WEB-INF/lib/jodd.jar</taglib-location></taglib>
2、 准备一个普通的 JavaBean 作为表单对象,比如一个 User 类,包含 userName 与 password 属性及对应的 getter/setter
3、 在 JSP 页面中引入 Jodd 标签,使用 <jodd:form beans="user" scopes="session"> 包裹表单,表单控件的 name 属性与 JavaBean 的属性名保持一致
4、 在 controller 的配置中,直接声明一个实现了 org.springframework.web.servlet.mvc.Controller 接口的 Bean,无需再配置 commandClass 或 formView
5、 在 controller 的 handleRequest 方法里,通过 BeanUtil.load(user, request) 即可将请求参数自动填充到 User 对象中,随后正常处理业务逻辑
需要留意的是,表单中 input 的 name 值与 JavaBean 属性名必须完全相同,否则无法完成绑定
1、 6 版本修复了 HTTP 客户端在 content-length 与 chunked encoding 同时出现时的特殊情形
2、 util 模块的 getResourceAsStream 方法新增了布尔参数,用于控制是否禁用缓存;Zip 相关方法现在会返回生成的 zip 文件
3、 mail 模块修复了 MailAddress 的解析问题,新增 startTlsRequired 与 plaintextOverTLS() 选项,并加入了调试模式开关
4、 bean 模块的 BeanCopy 做了小幅优化;madvoc 框架中拦截器、过滤器与动作的执行流程被显著简化
5、 从较新版本开始,Jodd 要求 JDK 8 以上环境,核心模块可独立引入。若遇到 JSON 循环引用,需要在实体类上使用 @JsonIgnore 或调整深度限制
6、 通过 Maven 引入时,建议排除不需要的模块以减小体积;源码编译需先安装父 POM。升级前注意查看迁移指南,部分旧版 API 已被移除
(您的评论需要经过审核才能显示)
0条评论