在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中使用我们配置的数据源了

springboot在yml中配置sharding手动配置DataSource并注入到Bean

原文地址: https://www.cveoy.top/t/topic/fhxn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录