【发布时间】:2020-12-05 18:47:16
【问题描述】:
在春季测试中有一个问题: “Spring Data JDBC 依赖会自动配置 Datasource 和 JDBCTemplate 吗?”
我会说不,因为您需要像 h2 或 oracle 这样的数据库连接器依赖项来自动配置数据源?而且 JDBCTemplate 还需要一个数据源?
【问题讨论】:
标签: spring-data datasource jdbctemplate spring-data-jdbc
在春季测试中有一个问题: “Spring Data JDBC 依赖会自动配置 Datasource 和 JDBCTemplate 吗?”
我会说不,因为您需要像 h2 或 oracle 这样的数据库连接器依赖项来自动配置数据源?而且 JDBCTemplate 还需要一个数据源?
【问题讨论】:
标签: spring-data datasource jdbctemplate spring-data-jdbc
我怀疑你的想法是正确的,而且措辞有点不对。
严格来说 Spring Data JDBC 根本不做任何自动配置。
自动配置由 Spring Boot 与 Spring Boot Spring Data JDBC starter 合作完成,这取决于(即包括由 Spring Boot Starter JDBC
完成的自动配置这就是自动配置Datasource 的方法,如果Datasource 可用,还提供/配置JdbcTemplate。
为了能够配置Datasource,至少需要一个 JDBC 驱动程序。
根据环境(是否是内存数据库,您是否在测试执行中),可能还需要一些配置属性,例如 JDBC URL。
如果您想更好地了解自动配置的条件,我推荐Spring Boot autoconfiguration classes 列表。 如果您在该列表中搜索例如“数据源”你会找到相关的类和指向它们的源代码和注释的链接,即使你还不了解 Spring Boot 内部是如何工作的,我认为这在某种程度上是可以理解的。
【讨论】: