SpringBoot之数据访问

本文介绍如何在Spring Boot中配置自定义数据源,包括使用@Bean注解覆盖默认设置的方法,以及如何配置多个数据源并指定主数据源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置数据源

自定义DataSource类型的@Bean可以覆盖默认设置。

@Bean
@ConfigurationProperties(prefix="datasource.fancy")
public DataSource dataSource() {
    return new FancyDataSource();
}


datasource.fancy.jdbcUrl=jdbc:h2:mem:mydb
datasource.fancy.username=sa
datasource.fancy.poolSize=30

Spring Boot也提供了一个工具类DataSourceBuilder用来创建标准的数据源。如果需要重用DataSourceProperties的配置,你可以从它初始化一个DataSourceBuilder

@Bean
@ConfigurationProperties(prefix="datasource.mine")
public DataSource dataSource(DataSourceProperties properties) {
    return properties.initializeDataSourceBuilder()
            // additional customizations
            .build();
}

在此场景中,你保留了通过Spring Boot暴露的标准属性,通过添加@ConfigurationProperties,你可以暴露在相应的命命名空间暴露其他特定实现的配置。

配置两个数据源

创建多个数据源和创建一个工作都是一样的,如果使用JDBC或JPA的默认自动配置,你需要将其中一个设置为@Primary(然后它就能被任何@Autowired注入获取)。

@Bean
@Primary
@ConfigurationProperties(prefix="datasource.primary")
public DataSource primaryDataSource() {
    return DataSourceBuilder.create().build();
}

@Bean
@ConfigurationProperties(prefix="datasource.secondary")
public DataSource secondaryDataSource() {
    return DataSourceBuilder.create().build();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值