Spring会自动配置很多@Bean对象,所以你可以专注于应用的逻辑开发。这篇文章,我会整理配置单数据源,以未后来配置多数据源做准备。
基本的项目架构是,以Java方式配置数据源,并在application.properties文件中配置元信息。
@Configuration
@EnableConfigurationProperties
public class DataSourceConfig {
//注释方式JPA repository配置
@Bean
//获取.properties属性文件的配置元数据
@Primary
@ConfigurationProperties("oneslide.datasource")
public DataSource firstDataSource() {
//以DataSourceBuilder对象来构造数据源DataSource对象
return firstDataSourceProperties().initializeDataSourceBuilder().build();
//return DataSourceBuilder.create().build();
}
@Bean
@Primary
//获取Environment属性,Environment从.properties文件获取配置信息
@ConfigurationProperties("oneslide.datasource")
public DataSourceProperties firstDataSourceProperties() {
return new DataSourceProperties();
}
}
注意到 @ConfigurationProperties("oneslide.datasource")
,这条语句能够指定Java加载元信息的位置。
比如,你可以这样在application.properties文件中配置让加载时连接信息被加载到:
oneslide.datasource.url=jdbc:mysql://localhost/webofoneslide
oneslide.datasource.username=root
oneslide.datasource.password=********
@Primary标签为标识主数据源,在多数据源的情况下,有用。搭载基本的JPA配置,我的应用可以使用到mySQL数据源