当前位置:   article > 正文

spring boot datasource配置_spring.datasource.maxactive

spring.datasource.maxactive
  1. <!--引入jdbc starter -->
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-jdbc</artifactId>
  5. </dependency>
  6. <!--引入mysql驱动包 -->
  7. <dependency>
  8. <groupId>mysql</groupId>
  9. <artifactId>mysql-connector-java</artifactId>
  10. <scope>runtime</scope>
  11. </dependency>
  1. #application.properties
  2. spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource
  3. spring.datasource.driver-class-name=com.mysql.jdbc.Driver
  4. spring.datasource.url=jdbc:mysql://localhost:3306/test
  5. spring.datasource.username=root
  6. spring.datasource.password=root

如果不指定spring.datasource.type,默认为org.apache.tomcat.jdbc.pool.DataSource,tomcat连接池的具体设置为:spring.datasource.tomcat.xxx=xxx,如maxActive属性:spring.datasource.tomcat.max-active=10或者spring.datasource.tomcat.maxActive,两种写法都可以,这是因为@ConfigurationProperties注解支持松散绑定

spring boot 连接池自动配置仅支持tomca、dbcp、dbcp2、Hikari,具体可以查看org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

spring.datasource的具体参数设置参考https://docs.spring.io/spring-boot/docs/1.5.21.RELEASE/reference/html/common-application-properties.html(页面搜索spring.datasource)

  1. //启用spring-boot-starter-jdbc后,自动配置了jdbcTemplate,我们可以直接拿来使用
  2. @Autowired
  3. JdbcTemplate jdbcTemplate;
  4. @Test
  5. public void contextLoads() throws SQLException {
  6. jdbcTemplate.queryForList("select * from student");
  7. }

自定义数据源

  1. #spring.datasource.type:指定数据源的实现类,这里我们使用Druid
  2. spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
  3. #下面配置为Druid的配置
  4. spring.datasource.driver-class-name=com.mysql.jdbc.Driver
  5. spring.datasource.url=jdbc:mysql://localhost:3306/test
  6. spring.datasource.username=root
  7. spring.datasource.password=root
  8. spring.datasource.initialSize=5
  9. spring.datasource.minIdle=5
  10. spring.datasource.maxActive=20
  1. @Configuration
  2. public class DruidConfig {
  3. //只需要创建一个DataSource的实现托管到ioc容器中,指定properties的哪些前缀的属性与连接池的属性绑定,spring boot 根据spring.datasource.type利用反射为我们进行自动配置
  4. @ConfigurationProperties(prefix = "spring.datasource")
  5. @Bean
  6. public DataSource druid() {
  7. return new DruidDataSource();
  8. }
  9. }

下图为spring boot为自定义数据源创建原理 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/46256
推荐阅读
相关标签
  

闽ICP备14008679号