您如何 autowire/inject 在 Spring-boot 中使用您的数据源?

How do you autowire/inject your datasource in Spring-boot?

我现在已经使用 Spring boot 工作了一段时间,在我看到的每个示例中,数据源总是在您的 application.properties 中配置,有点像这样:

# DataSource configuration
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/abcdef
spring.datasource.username=******
spring.datasource.password=******

然而,最近我一直在尝试集成 Spring 社交,我看到的示例在 java 中将其配置在配置文件中,如下所示:

@Bean
public DataSource dataSource() {
    DriverManagerDataSource dataSource = new DriverManagerDataSource();
    dataSource.setDriverClassName(env.getProperty("db.driver"));
    dataSource.setUrl(env.getProperty("db.url"));
    dataSource.setUsername(env.getProperty("db.username"));
    dataSource.setPassword(env.getProperty("db.password"));
    return dataSource;
}

这允许稍后将数据源对象注入或自动连接到社交配置中,例如 here

我的问题是,我是否需要像这样配置数据源 bean 以便以后能够注入数据源,或者 Spring-boot 会为我处理吗?

无论如何都不是 Spring(或 Boot)专家,但是 Spring Boot 将自动提供类型为 DataSource 的 Bean,如果属性存在并且有要求的话。要使用它,您只需 @Autowire 它。