开源Java工具包devtools系列介绍

devtools是由五个基础工具包组成的Java开源系列,包括devtools-lang、devtools-objectpool、devtools-cron4j、devtools-beans-streaming和devtools-db4j。devtools-lang提供高封装度的工具方法,提升开发效率;devtools-objectpool实现对象池和数据库连接池;devtools-cron4j是轻量级的调度工具;devtools-beans-streaming模仿C# LINQ,方便对象列表操作;devtools-db4j简化JDBC操作。这些工具包旨在优化代码和提高开发速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍一款Java开源工具包系列devtools,目前由5个Java基础工具包组成。
Maven:

		<dependency>
			<groupId>com.github.paganini2008</groupId>
			<artifactId>devtools</artifactId>
			<version>2.0.2</version>
		</dependency>

兼容性:
Jdk1.8+
组成部分:

  1. devtools-lang
  2. devtools-objectpool
  3. devtools-cron4j
  4. devtools-beans-streaming
  5. devtools-db4j

下面,对每个工具包简单介绍一下:
devtools-lang
devtools-lang 是一款基础工具包,对JDK中关于基础数据类型,集合,日期,IO,多线程,JDBC, 日志等常用类库进行了二次封装。devtools-lang工具包提供了更高封装程度的工具方法和API, 旨在显著提高开发人员的开发效率,优化代码风格和增加可维护性。
Maven:

<dependency>
	<groupId>com.github.paganini2008</groupId>
	<artifactId>devtools-lang</artifactId>
	<version>2.0.2</version>
</dependency>

devtools-objectpool
devtools-objectpool是一个对象池工具包,包含一个对象池和数据库连接池实现
Maven:

        <dependency>
			<groupId>com.github.paganini2008</groupId>
			<artifactId>devtools-objectpool</artifactId>
			<version>2.0.2</version>
		</dependency>
devtools-cron4j

cron4j是一款小巧实用的Java调度工具包,它提供了:

  1. 面向API的方式来自定义cron表达式,又能将cron表达式解析为API的形式
  2. 内置多种调度器可定时执行目标内容
  3. 不依赖其他组件,可轻量化地定制自己的系统
    Maven:
<dependency>
	<groupId>com.github.paganini2008</groupId>
	<artifactId>devtools-cron4j</artifactId>
	<version>2.0.2</version>
</dependency>
devtools-beans-streaming

devtools-beans-streaming 是一个对对象列表(或称为结果集)进行查询或聚合等操作的解决方案, 类似于C#中的LINQ功能
Maven:

<dependency>
	<groupId>com.github.paganini2008</groupId>
	<artifactId>devtools-beans-streaming</artifactId>
	<version>2.0.2</version>
</dependency>
devtools-db4j

devtools-db4j 是一款简单实用的JDBC操作封装工具包, 可适用于任何项目,极大地提高了基于JDBC的开发效率
Maven:

 <dependency>
	<groupId>com.github.paganini2008</groupId>
	<artifactId>devtools-db4j</artifactId>
	<version>2.0.2</version>
</dependency>

这里主要是对devtools系列做一个大致的介绍,后面会对每个工具包做一个详尽的使用说明

源码地址:https://github.com/paganini2008/devtools.git

此工具我不再更新,里面大多数方法我迁移到了hutool工具包中,而其中一些不常用的功能被遗弃,项目暂留做为以后参考。 common-tools 一、数据库工具类 1、com.baijob.commonTools.db.ds C3p0Ds 和 DruidDs分别是两种连接池的实现,依赖于数据库配置文件,配置文件的样例参考config/db-example.setting 使用时将db-example.setting复制于${classpath}/config/db.setting,按照配置文件中的说明替换相应值 如果使用Druid,则需参考druid-example.setting创建${classpath}/config/druid.setting文件,详情请参考官方文档 使用C3P0则需要参考c3p0-config-example.xml创建${classpath}/c3p0-config.xml来调节C3P0参数 此时即可调用C3p0Ds.getDataSource()或DruidDs.getDataSource()方法获得默认的数据源 如果要自定义数据库配置文件的参数,请调用相应的init(),传入相关参数 注:Setting对象请参考与之对应的章节 2、com.baijob.commonTools.db.DbUtil 数据库工具类,提供了关闭方法:关闭可以传入多个参数,关闭的顺序是按照参数的顺序来的,用于一次性关闭Connnection、Statement、ResultSet等 newSqlRunner方法用于快速新建一个SqlRunner(此类介绍参考下问) 3、com.baijob.commonTools.db.DsSetting,用于读取db.setting文件辅助类,内部使用 4、com.baijob.commonTools.db.SqlRunner类参考Apache的DbUtils工具包,封装了常用的增删改查方法,与com.baijob.commonTools.db.RsHandler配合使用 com.baijob.commonTools.db.RsHandler接口与Apache的DbUtils的ResultSetHandler等价,抽象结果集处理。 二、邮件工具类 1、com.baijob.commonTools.mail.MailAccount 邮件账户类。 可以调用MailAccount(String accountSettingFileBaseClassLoader)读取相对路径的Setting文件,配置参考mailAccount-example.setting 2、com.baijob.commonTools.mail.MailUtil邮件发送工具类,方法请参考注释 此工具类依赖javax.mail,请参考pom.xml添加依赖或手动下载 三、网络相关工具类 1、com.baijob.commonTools.net.AccessControl访问控制,基于配置文件,可以设定IP白名单或黑名单,可以通过配置文件实现简单的账户验证。 配置文件请参考access-example.xml 2、com.baijob.commonTools.net.Connector 连接对象实体类,有host、端口、用户名、密码等属性 3、com.baijob.commonTools.net.HtmlUtil HTML工具类,暂时只提供特殊字符转义 4、com.baijob.commonTools.net.SocketUtil socket工具类。 isUsableLocalPort() 检测本地某个端口是否可用(可用是指没有被其他程序占用) isValidPort()是否是符合规范的端口号 longToIpv4()将long转换为ipv4地址,反方法是ipv4ToLong() netCat()简易的数据发送方法 5、com.baijob.commonTools.net.SSHUtil SSH相关工具类 getSession()获得一个SSH会话 bindPort()将远程主机的端口映射到本地某个端口 6、com.baijob.commonTools.net.URLUtil 将相对、绝对路径转换为URL对象,用于网络或文件流的读写,Setting的配置依赖此工具包 四、线程相关工具类 1、com.baijob.commonTools.thread.BaseRunnable 此类实现了Runnable接口,扩展了功能。 增加名称、ID,调用次数和时间统计、线程停止接口等,并且在线程运行时,不允许此线程第二次启动。 2、com.baijob.commonTools.thread.Executor 线程池工具类 调用静态方法execute()启动线程,此线程在公共的线程池中执行 若想自定义线程池大小或独立控制,可调用newExecutor()实例化一个线程池 excAsync()执行一个异步方法 3、com.baijob.commonTools.thread.SyncQueue 阻塞队列,简化了JDK的BlockingQueue
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值