springboot配置druid数据源

原因:由于druid不是springboot内置的数据源,所以在application.properties文件中就不能很简单的进行配置,得手动进行配置。

注:本文只设置了几个常用的属性,可按需追加。

1、为了方便各项属性的配置,可以使用接口对属性进行管理:

public interface DataSourceConfig {
    String URL = "${spring.datasource.url}";
    String USERNAME = "${spring.datasource.username}";
    String PASSWORD = "${spring.datasource.password}";
    String TYPE = "${spring.datasource.type}";
    String INITIALSIZE = "${spring.datasource.initialSize}";
    String MINIDLE = "${spring.datasource.minIdle}";
    String MAXACTIVE = "${spring.datasource.maxActive}";
}

2、创建一个配置属性类:

@Component
public class DataSourceProperties implements DataSourceConfig {
    @Value(URL)
    private String url;
    @Value(USERNAME)
    private String username;
    @Value(PASSWORD)
    private String password;
    @Value(TYPE)
    private String type;
    @Value(INITIALSIZE)
    private int initialSize;
    @Value(MINIDLE)
    private int minIdle;
    @Value(MAXACTIVE)
    private int maxActive;

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public int getInitialSize() {
        return initialSize;
    }

    public void setInitialSize(int initialSize) {
        this.initialSize = initialSize;
    }

    public int getMinIdle() {
        return minIdle;
    }

    public void setMinIdle(int minIdle) {
        this.minIdle = minIdle;
    }

    public int getMaxActive() {
        return maxActive;
    }

    public void setMaxActive(int maxActive) {
        this.maxActive = maxActive;
    }
}

3、把各项属性设置进druid,并使用@Bean注解把druid丢给spring boot:

@Configuration
public class DruidDataSourceConfig {

    @Bean
    public DataSource druidDataSource(DataSourceProperties properties) {
        DruidDataSource datasource = new DruidDataSource();
        datasource.setUrl(properties.getUrl());
        datasource.setUsername(properties.getUsername());
        datasource.setPassword(properties.getPassword());
        datasource.setDbType(properties.getType());
        datasource.setInitialSize(properties.getInitialSize());
        datasource.setMinIdle(properties.getMinIdle());
        datasource.setMaxActive(properties.getMaxActive());
        return datasource;
    }
}

4、在application.properties文件中进行各项属性的配置:

注:必须加上spring.datasource.type=com.alibaba.druid.pool.DruidDataSource,因为springboot2.0以后默认使用hikari数据源,这项属性表示修改数据源为druid。

###################druid###########################
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.initialSize=1
spring.datasource.minIdle=1
spring.datasource.maxActive=3

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值