SpringBoot第十九天 - Dao Druid数据源

SpringBoot - DaoDruid

本节学习SpringBoot自定义整合Druid数据源方式以及Druid数据源模块starter的配置。

1. Druid简介

Druid首先是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Druid是阿里巴巴开发的号称为监控而生的数据库连接池!

Druid是什么和Druid的介绍 - 一个java菜鸟的成长之路

Druid是一个专为大型数据集上的高性能切片和OLAP分析而设计的数据存储。Druid最常用作为GUI分析应用程序提供动力的数据存储,或者用作需要快速聚合的高度并发API的后端。

Druid基本概念及架构介绍 - it_zzy

Druid连接池是阿里巴巴开源的数据库连接池项目。Druid连接池为监控而生,内置强大的监控功能,监控特性不影响性能。功能强大,能防SQL注入,内置Logging能诊断Hack应用行为。

Druid连接池介绍 - alibaba

alibaba/druid - Github

2. 自定义方式导入Druid数据源

手动导入第三方组件的方式。

2.1 导入Maven依赖

pom.xml:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.2.6</version>
</dependency>

2.2 注册Druid数据源组件:DruidDataSource

之前学习Spring时我们注册组件通常在XML配置文件中用<bean>标签,例如:

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
    <property name="url" value="jdbc:mysql://localhost:3306/spring_event"/>
    <property name="name" value="root"/>
    <property name="password" value="123456"/>
    <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
</bean>

使用<property>标签注入数据。

现在学习SpringBoot我们可以在配置类中使用@Bean注解来注册组件,如上面的XML配置可以改成如下代码:

@Bean
public DataSource dataSource() {
   
    DruidDataSource druidDataSource = new DruidDataSource();
    druidDataSource.setUrl("jdbc:mysql://localhost:3306/spring_event");
    druidDataSource.setName("root");
    druidDataSource.setPassword("123456");
    druidDataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
    return druidDataSource;
}

我们发现这些set方法的命名规则和application.yaml配置文件的节点名称相同,所以可以使用@ConfigurationProperties注解,
让参数设置转移至application.yaml配置文件中设置,以上代码可改为如下所示:

@Bean
@ConfigurationProperties("spring.datasource")
public DataSource dataSource() {
   
    return new DruidDataSource();
}

然后在application.yaml配置文件中指定参数:

spring:
    datasource:
        url: jdbc:mysql:///spring_event
        username: root
        password: 123456
        driver-class-name: com.mysql.cj.jdbc.Driver

启动测试,编写测试类:

@SpringBootTest
public class SpringTest {
   

    // 通过上节学习我们知道JdbcTemplate自动配置类会在
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值