整合Spring6+MyBatis3.5.10出现的bug
大致错误为:
警告: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name accountServiceImpl: Unsatisfied dependency expressed through field accountDao: Error creating bean with name accountDao defined in file [E:Desktopsm argetclassescommmgdaoAccountDao.class]: Unsatisfied dependency expressed through bean property sqlSessionFactory: Error creating bean with name sqlSessionFactoryBean defined in class path resource [com/mmg/config/DataSourceConfig.class]: Failed to instantiate [org.mybatis.spring.SqlSessionFactoryBean]: Factory method sqlSessionFactoryBean threw exception with message: org/springframework/core/NestedIOException
经过我反复的实验,发现了是Spring整合MyBatis的依赖太低,在我们使用Spring6正式版后,Spring整合MyBatis的依赖版本必须为3.0.0以上!在升级依赖后重新启动项目即可!
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>6.0.3</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>6.0.3</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.11</version>
</dependency>
<!--升级为spring6正式版(里程碑版没影响)后,sprng整合mybatis的依赖必须是3.0.0以上-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.13</version>
</dependency>
</dependencies>
