-
条件:不引⼊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依赖:
- <!-- 情况一、二 测试引入的依赖 -->
- <!--<dependency>-->
- <!--<groupId>com.alibaba</groupId>-->
- <!--<artifactId>druid</artifactId>-->
- <!--<version>${druid.version}</version>-->
- <!--</dependency>-->
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>druid-spring-boot-starter</artifactId>
- <version>1.1.10</version>
- </dependency>
- <dependency>
- <groupId>org.mybatis.spring.boot</groupId>
- <artifactId>mybatis-spring-boot-starter</artifactId>
- <version>RELEASE</version>
- </dependency>
(编辑:晋中站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|