设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 重新 试卷 文件
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

一个项目的SpringCloud微服务改造过程(4)

发布时间:2019-08-06 16:22 所属栏目:21 来源:黄玲峰
导读:A、数据源配置 数据源注入的三种情况: 【情况一】 条件:不引druid-spring-boot-starter只依赖druid.jar,不指定spring.datasource.type。 结果:注入的数据源是tomcat的数据源。 解析:依赖的mybatis-spring-boot-

A、数据源配置
数据源注入的三种情况:
【情况一】

  • 条件:不引⼊druid-spring-boot-starter只依赖druid.jar,不指定spring.datasource.type。 

  • 结果:注入的数据源是tomcat的数据源。 

  • 解析:依赖的mybatis-spring-boot-starter工程依赖了tomcat的数据源,spring-boot-autoconfigure-starter的DataSourceAutoConfiguration自动注入类会在不指定数据源的情况下,判断路径中是否存在默认的4种数据源(Hikari,Tomcat,Dbcp,Dbcp2)的其一,如果有就注入。 

【情况二】

  • 条件:不引入druid-spring-boot-starter只依赖druid.jar ,指定spring.datasource.type为DruidDataSource。
  • 结果:注入了DruidDataSource数据源,但配置文件中的druid配置不会生效。 
  • 解析: 指定了依赖的数据源后,spring自动注入的starter会将指定的数据源注入,yml指定了druid数据源。@ConfigurationProperties注解的DataSourceProperties没处理druid部分的性能参数属性,只处理了数据源部分的属性。

【情况三】

  • 条件:引⼊ druid-spring-boot-starter 不依赖druid.jar,指定spring.datasource.type为DruidDataSource。
  • 结果:注入了DruidDataSource数据源, 配置文件中的druid配置也会生效。 
  • 解析:druid-spring-boot-starter自动配置类会在DataSourceAutoConfiguration之前先创建数据源,并且@ConfigurationProperties注入的DataSourceProperties包含了配置文件中druid的属性。

pom.xml依赖:

  1. <!-- 情况一、二 测试引入的依赖 --> 
  2.   <!--<dependency>--> 
  3.       <!--<groupId>com.alibaba</groupId>--> 
  4.       <!--<artifactId>druid</artifactId>--> 
  5.       <!--<version>${druid.version}</version>--> 
  6.   <!--</dependency>--> 
  7.   <dependency> 
  8.       <groupId>com.alibaba</groupId> 
  9.       <artifactId>druid-spring-boot-starter</artifactId> 
  10.       <version>1.1.10</version> 
  11.   </dependency> 
  12.   <dependency> 
  13.       <groupId>org.mybatis.spring.boot</groupId> 
  14.       <artifactId>mybatis-spring-boot-starter</artifactId> 
  15.       <version>RELEASE</version> 
  16.   </dependency> 

yml配置:

  1. spring: 
  2.   datasource: 
  3.     type: com.alibaba.druid.pool.DruidDataSource            # 当前数据源操作类型 
  4.     driver-class-name: com.mysql.jdbc.Driver            # mysql驱动包 
  5.     url: jdbc:mysql://yourURL        # 数据库名称 
  6.     username: yourusername 
  7.     password: yourpassword 
  8.     druid: 
  9.       initial-size: 5  # 初始化大小 
  10.       min-idle: 5  # 最小 
  11.       max-active: 20  # 最大 
  12.       max-wait: 60000  # 连接超时时间 
  13.       time-between-eviction-runs-millis: 60000  # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 
  14.       min-evictable-idle-time-millis: 300000  # 指定一个空闲连接最少空闲多久后可被清除,单位是毫秒 
  15.       validationQuery: select 'x' 
  16.       test-while-idle: true  # 当连接空闲时,是否执行连接测试 
  17.       test-on-borrow: false  # 当从连接池借用连接时,是否测试该连接 
  18.       test-on-return: false  # 在连接归还到连接池时是否测试该连接 
  19.       filters: config,wall,stat 

B、MyBatis配置 

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读