- 
    
条件:不引⼊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> 
 
  
                        (编辑:滁州站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |