EasyCommons 项目简介


EasyCommons是一个针对Java开发领域提供通用开发组件的项目。旨在为Java项目开发领域并不完善的一些方面,提供一些组件级的解决方案。

组件开发的原因来源于需求的无法满足,不满并决心改变引导出了这样的一个项目。该项目会不断收集相关组件,也欢迎有新的组件加入。

目前包括以下子项目:

1. EasyImageUtils:

EasyCommons 项目下的图片处理工具类。 包括如下组件:

  1. EasyImageCompressionUtils:图片大小压缩改变工具类,支持网络图片,等比,最大宽高等多种模式。
    适合场景:上传图片时压缩到不同大小。

  2. EasyImageSrcUtils:图片地址提取工具类。将字符串内容中的图片路径提取出来。
    适合场景:在发表新闻内容时,自动提取内容中所有的图片,或提取第一张图片作为新闻封面。

  3. EasyImageWaterMarkUtils:图片水印工具类。支持为图片添加图片水印或文字水印。
    适合场景:上传图片时添加水印。

2. EasyPropertiesUitls:

Java提供的 java.util.Properties 不仅仅在设计上存在问题,并且功能异常简陋,一般除了读,在写上不具备实用性(会导致文件原格式和注释丢失)。在维护或写properties文件时必须自行实现写方案。

EasyCommons 项目下的 Properties 文件操作工具类。包括如下组件:

  1. EasyProperties: 用来代替java.util.Properties的properties文件类, 扩展了java.util.Properties,提供了内容合并(merge: 增, 删, 改)和修改(modify: 增,改)功能,修改属性时不影响原格式。
    适合场景:任何需要对properties文件进行读写操作的场景,不影响文件原格式。

  2. EasyPropertiesUtils: 直接修改Properties文件的工具类,提供原格式写功能,包括保留注释,支持内容合并(merge: 增, 删, 改)和修改(modify: 增,改)。
    适合场景:对properties文件进行修改操作,又不影响原格式的情况。

3. EasyObjectUtils:

EasyCommons 项目下的 Obejct 对象操作工具类。

  1. EasyObjectExtract:对象抽取。 从对象中使用字段表达式(FieldExpression)抽取指定属性以 key-value 存入Map集合。
    适合场景:JSON输出时,从对象中抽取指定输出属性和值。

  2. EasyObjectFilter:JaveBean对象属性过滤。将对象中的特殊字符(<,>,...)全部过滤掉,转为转义符;或者自定义字符转换映射。
    适合场景:将对象中的字符串包含的特殊字符进行过滤转换为字符实体;或将对象字符串属性中包含的字符全部替换为指定字符。例如,在Struts2中文件上传时提交的数据封装到对象后,对对象中可能包含的用户提交的的特殊字符串的进行转义。

  3. EasyObjectSetNull:对象属性置空。使用字段表达式(FieldExpression)将对象中指定属性设置为null。
    适合场景:将Hibernate加载的对象中有些延迟无法加载的属性设置为空 ,防止在序列化属性时出现no session异常。

Maven

<!-- EasyObjectUtils -->
<dependency>
    <groupId>cn.easyproject</groupId>
    <artifactId>easycommons-object</artifactId>
    <version>1.7.4-RELEASE</version>
</dependency>

<!-- EasyImageUtils -->
<dependency>
    <groupId>cn.easyproject</groupId>
    <artifactId>easycommons-image</artifactId>
    <version>1.4.2-RELEASE</version>
</dependency>

<!-- EasyPropertiesUtils -->
<dependency>
    <groupId>cn.easyproject</groupId>
    <artifactId>easycommons-properties</artifactId>
    <version>1.4.1-RELEASE</version>
</dependency>

结束

留言评论

如果您有更好意见,建议或想法,请联系我。

联系、反馈、定制、培训 Email:inthinkcolor@gmail.com