springboot在yml中配置sharding手动配置DataSource并注入到Bean
在yml文件中,可以使用spring.datasource来配置DataSource。我们可以手动配置DataSource,并将其注入到Bean中。下面是一个简单的示例:
首先,在yml文件中配置数据源:
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
username: root
password: root
然后,我们可以手动配置DataSource,并将其注入到Bean中:
@Configuration
public class DataSourceConfig {
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() {
return DataSourceBuilder.create().build();
}
@Bean
public DataSource shardingDataSource(@Qualifier("dataSource") DataSource dataSource) {
// 这里可以根据需要配置Sharding-JDBC DataSource
return dataSource;
}
}
在上面的代码中,我们首先使用@ConfigurationProperties注释从yml文件中获取DataSource的配置。然后,我们手动创建DataSource,并将其注入到Bean中。此时,我们可以在shardingDataSource方法中对数据源进行任何必要的配置。
最后,我们可以在需要使用数据源的地方使用@Qualifier注释来注入我们配置的数据源:
@Service
public class MyService {
private final DataSource dataSource;
public MyService(@Qualifier("shardingDataSource") DataSource dataSource) {
this.dataSource = dataSource;
}
// ...
}
在上面的代码中,我们使用@Qualifier注释来指定我们需要注入的数据源是shardingDataSource。这样,我们就可以在MyService中使用我们配置的数据源了
原文地址: https://www.cveoy.top/t/topic/fhxn 著作权归作者所有。请勿转载和采集!