一 . 概述
我们首先在springboot之中配置一个数据源.
二 . 数据源的配置
在springboot之中,配置一个数据源变得十分的简单了.我们只需要使用application.properties文件就可以了.
spring.datasource.password=trek spring.datasource.username=root spring.datasource.url=jdbc:mysql://localhost:3306/springboot spring.datasource.driver-class-name=com.mysql.jdbc.Driver
我们只要在配置文件之中配置了上述的内容,同时我们引入了相关的启动器,我们的数据源就会自动的进行配置.
启动器如下:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
我们使用的是mysql数据库.
三 .配置Druid数据源
我们在一般情况下都不会使用springboot默认给出的数据源,一般情况下我们都会使用Druid来完成.
Druid最为优秀的就是拥有一整套监控组件.
首先我们需要导入Druid的jar文件.
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.0</version> </dependency>
本次我们使用的版本是1.1.0这个版本,原因就是本人喜欢使用整数样的版本.呵呵.
下面我们需要的就是进行Druid的配置.
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
我们只需要在上面的配置信息之中指定我们需要使用的type是Druid就可以了.
现在出现了一个问题,就是Druid数据源之中有很多的配置信息,我们使用什么样的手段才能对这些属性进行配置呢?
spring.datasource.initialSize=5 spring.datasource.minIdle=5 spring.datasource.maxActive=20 spring.datasource.maxWait=60000 spring.datasource.timeBetweenEvictionRunsMillis=60000 spring.datasource.minEvictableIdleTimeMillis=300000 spring.datasource.validationQuery=SELECT 1 FROM DUAL spring.datasource.testWhileIdle=true spring.datasource.testOnBorrow=false spring.datasource.testOnReturn=false spring.datasource.poolPreparedStatements=true spring.datasource.maxPoolPreparedStatementPerConnectionSize=20 spring.datasource.filters=stat,wall,log4j spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
我们还是在application.properties文件之中配置上述的信息:
细心的人会发现这些配置信息根本就不是springboot标准配置信息的一部分.
下面我们就可以使用一个注解帮助我们完成[email protected]来帮助我们完成.
下面简单的演示一下:
@Configuration public class DataSourceConfig { @Bean @ConfigurationProperties("spring.datasource") public DataSource druid() { return new DruidDataSource(); } }
我们就是在一般的Bean的配置之上加上了一个注解,这个注解会帮助我们将配置文件之中的一些配置信息自动的填充到Bean的属性之上.
原文地址:https://www.cnblogs.com/trekxu/p/9740177.html
时间: 2024-11-11 07:18:45