Java 我是否需要为SpringDataJDBC项目配置下面示例中的bean?

Java 我是否需要为SpringDataJDBC项目配置下面示例中的bean?,java,spring-data-jdbc,Java,Spring Data Jdbc,我是否需要为SpringDataJDBC项目配置下面示例中的bean 即使没有这些bean,我也能够让我的存储库查询正常工作 据我所知,NamedParameterJdbcOperations仅在内部用于向数据库提交SQL语句,开发人员不直接使用它 希望得到更多的澄清 @SpringBootApplication @EnableJdbcRepositories public class SpringDataJdbcApplication extends AbstractJdbcConfigura

我是否需要为SpringDataJDBC项目配置下面示例中的bean

即使没有这些bean,我也能够让我的存储库查询正常工作

据我所知,NamedParameterJdbcOperations仅在内部用于向数据库提交SQL语句,开发人员不直接使用它

希望得到更多的澄清

@SpringBootApplication
@EnableJdbcRepositories
public class SpringDataJdbcApplication extends AbstractJdbcConfiguration
{
    public static void main(String[] args) 
    {
        SpringApplication.run(SpringDataJdbcApplication.class, args);
    }
    
    @Bean
    @ConfigurationProperties(prefix="spring.datasource")
    public DataSource dataSource() 
    {
        DataSourceBuilder dataSourceBuilder = DataSourceBuilder.create();
        return dataSourceBuilder.build();
    }
    
    @Bean
    NamedParameterJdbcOperations namedParameterJdbcOperations(DataSource dataSource) 
    { 
        return new NamedParameterJdbcTemplate(dataSource);
    }

    @Bean
    PlatformTransactionManager transactionManager() 
    { 
        return new DataSourceTransactionManager(dataSource());
    }
}

如果您在Maven或Gradle中的依赖项中包含
org.springframework.boot:springbootstarter数据jdbc
,通过“约定优先于配置”范式,那么您根本不需要创建任何包含
dataSource
bean的bean。只要
main
方法就足够了。这些必要的bean将自动创建

@SpringBootApplication
public class SpringDataJdbcApplication
{
    public static void main(String[] args) 
    {
        SpringApplication.run(SpringDataJdbcApplication.class, args);
    }
    
}
和内部应用程序.yml

...
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://dbhost/db
    username: xxx
    password: xxx
    max-active: 3
...

您是否在maven或gradle中包含依赖项
org.springframework.boot:springbootstarter数据jpa
?我已经添加了springbootstarter数据jdbc。这是针对Spring数据JDBC,而不是Spring数据JPA的问题是关于Spring数据JDBC而不是Spring数据JPA的,但主要的想法是正确的:这些bean是通过Spring Boot创建的。感谢Jens和Chayne的澄清。谢谢@Jenschauder纠正我的问题。测试之后,我只是将答案更新为Spring数据jdbc。您还应该从
application.yml