这个异常信息表明Spring框架在尝试解析名为 'TestMapper' 的Bean定义时遇到了问题。具体问题是 'factoryBeanObjectType' 属性的值类型不正确,期望的类型不是 `java.lang.String`。
这个问题通常与MyBatis集成Spring时配置不正确有关。以下是一些可能的解决方案:
1. **检查MyBatis配置**:
确认你的MyBatis配置是否正确。如果你使用XML配置,检查 `mapper` 标签是否正确配置。如果你使用注解,确保你的Mapper接口没有问题。
2. **检查Bean定义**:
确认 'TestMapper' 的Bean定义是否正确。如果你在XML中定义了Bean,检查class属性是否正确指向了你的Mapper接口。如果你使用注解配置,确保你的Mapper接口上使用了正确的注解(如 `@Mapper`)。
3. **检查扫描配置**:
确保Spring的组件扫描配置正确,能够扫描到你的Mapper接口。你可能需要在Spring配置文件中添加或修改组件扫描的路径。
以下是一些具体的代码示例:
- **XML配置示例**:
```xml
```
- **注解配置示例**:
```java
@MapperScan("com.pkufi.crm.base.domain.mapper")
@Configuration
public class MyBatisConfig {
// 其他配置...
}
```
- **Mapper接口示例**:
```java
@Mapper
public interface TestMapper {
// Mapper方法
}
```
4. **检查IDE设置**:
确保你的IDE(如IntelliJ IDEA)正确地处理了编译和构建过程。有时,IDE的配置可能会导致编译问题,例如,确保 `target/classes` 目录被正确地编译。
5. **重新编译项目**:
有时候,重新编译整个项目可以解决一些意外的类加载问题。
通过上述步骤,你应该能够解决这个 `BeanDefinitionStoreException` 异常。如果问题依然存在,你可能需要检查更多的配置细节或者查看Spring和MyBatis的官方文档以获取更多信息。