Spring Boot中Datasource配置(Spring Boot dbcp2数据源配置)
来源:互联网 发布:淘宝卖家如何发货 编辑:程序博客网 时间:2024/05/21 00:52
数据库连接池选择算法
在默认情况下, 数据库连接可以使用DataSource池进行自动配置。下面是选取一个特定实现的算法:
- 由于Tomcat数据源连接池的性能和并发, 在tomcat可用时, 我们总是优先使用它。
- 如果HikariCP可用, 我们将使用它。
- 如果Commons DBCP可用, 我们将使用它, 但在生产环境不推荐使用它。
- 最后, 如果Commons DBCP2可用, 我们将使用它。
如果你使用spring-boot-starter-jdbc或spring-boot-starter-data-jpa 'starter POMs', 你将会自动获取对tomcat-jdbc的依赖。
注:其他的连接池可以手动配置。 如果你定义自己的DataSource bean,自动配置不会发生。
配置一个默认的数据源
DataSource配置通过外部配置文件的spring.datasource.*属性控制。示例中,你可能会在application.properties中声明下面的片段:
spring.datasource.url=jdbc:mysql://localhost/testspring.datasource.username=dbuserspring.datasource.password=dbpassspring.datasource.driver-class-name=com.mysql.jdbc.Driver
其他可选的配置可以查看DataSourceProperties。同时注意你可以通过spring.datasource.*配置任何DataSource实现相关的特定属性:具体参考你使用的连接池实现的文档。
注:既然Spring Boot能够从大多数数据库的url上推断出driver-class-name,那么你就不需要再指定它了。 对于一个将要创建的DataSource连接池,我们需要能够验证Driver是否可用, 所以我们会在做任何事情之前检查它。 比如, 如果你设置spring.datasource.driverClassName=com.mysql.jdbc.Driver,然后这个类就会被加载。
配置dbcp2数据源
# 数据源配置spring.datasource.url=jdbc:mysql://localhost:3306/ssb_testspring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.username=rootspring.datasource.password=root#连接池配置spring.datasource.type=org.apache.commons.dbcp2.BasicDataSourcespring.datasource.dbcp2.max-wait-millis=10000spring.datasource.dbcp2.min-idle=5spring.datasource.dbcp2.initial-size=5spring.datasource.dbcp2.validation-query=SELECT xspring.datasource.dbcp2.connection-properties=characterEncoding=utf8
spring.datasource.type=org.apache.commons.dbcp2.BasicDataSource:指定使用那个连接池,默认使用tomcate-jdbc连接池。
dbcp2配置详解http://blog.csdn.net/xiaolyuh123/article/details/73331093
测试数据源代码
package com.xiaolyuh;import net.minidev.json.JSONObject;import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.context.ApplicationContext;import org.springframework.http.MediaType;import org.springframework.test.context.junit4.SpringRunner;import org.springframework.test.web.servlet.MockMvc;import org.springframework.test.web.servlet.MvcResult;import org.springframework.test.web.servlet.setup.MockMvcBuilders;import org.springframework.web.context.WebApplicationContext;import javax.sql.DataSource;import java.util.HashMap;import java.util.Map;import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;@RunWith(SpringRunner.class)@SpringBootTestpublic class DataSourceTests { @Autowired ApplicationContext applicationContext; @Autowired DataSourceProperties dataSourceProperties; @Test public void testDataSource() throws Exception { // 获取配置的数据源 DataSource dataSource = applicationContext.getBean(DataSource.class); // 查看配置数据源信息 System.out.println(dataSource); System.out.println(dataSource.getClass().getName()); System.out.println(dataSourceProperties); }}
源码
https://github.com/wyh-spring-ecosystem-student/spring-boot-student/tree/releases
spring-boot-student-data-jpa工程
- Spring Boot中Datasource配置(Spring Boot dbcp2数据源配置)
- Spring Boot 配置DataSource
- Spring Boot+Spring Data Jpa+DBCP2数据源
- Spring boot 配置Druid DataSource
- spring boot 配置druid数据源
- Spring Boot 配置Druid数据源
- spring boot 动态数据源配置
- Spring配置DataSource数据源
- Spring--DataSource配置数据源
- Spring Boot配置多个DataSource
- Spring Boot配置多个DataSource
- Spring Boot配置多个DataSource
- 在Spring中配置DataSource数据源
- Spring配置文件中配置数据源(dataSource)
- spring-boot-dyna-datasource(spring-boot动态数据源)
- spring-boot jpa 配置两个数据源
- Spring boot 数据源未配置异常
- Spring Boot+Mybatis动态数据源配置
- AD中 Top Solder和Top Paste的区别
- ArrayList和Linked的分析
- 使用Mycat操作Oracle数据库(六) -- 分片原则
- 散列表.md
- min让PC网站适应移动端
- Spring Boot中Datasource配置(Spring Boot dbcp2数据源配置)
- android studio打包生成aar文件并在其他工程引用aar包
- 89C52单片机之串口
- Jenkins邮件通知之Notification插件
- Webstorm快捷键速记(Mac版)
- AS项目运行正常,但查看代码飘红the file size exceeds configured limit.
- SpringMVC + Freemarker 国际化
- Gson基本用法
- 无向图.md