求解javax.activation.DataSource与javax.sql.DataSource的区别

今天写个简单boot小程序时,自动注入类写成了javax.activation.DataSource,困扰了好久。
突然发现自己对这块比较陌生,能有人解释下区别吗?

阅读 4.7k
1 个回答

看代码发现,javax.activation.DataSource中定义的接口都跟I/O有关,其实现类 也打多与 网络、文件I/O相关,可以判断出,javax.activation.DataSource是对资源文件的抽象,类似Reader、Writer等。而javax.sql.DataSource是JDBC2.0标准中的规范,其目的是针对1.0标准中通过DriverManager.getConnection()方式获取到的数据库链接,消耗大、不可复用等缺点而推出的新一代规范。javax.sql.DataSource接口方法也只有两个:有参和无参的getConnection()方法。具体的实现有DruidDataSource(阿里)和BasicDataSource(apache)等。这些数据源能提供可复用方式的数据库链接,大多采用连接池实现,好处就是:资源可以服用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题