您如何 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
它。
我现在已经使用 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
它。