Idea检查batis mapper bean错误

时间:2014-08-19 08:57:09

标签: java spring intellij-idea mybatis inspection

有Spring和MyBatis的网络项目。我使用IntelliJ IDEA进行开发。 虽然存在与数据访问对象的链接,但IDEA无法正确检查MyBatis bean并产生恼人的欠压。

检查评论:

 Could not autowire. No beans of 'ApplicationMapper' type found.

My Spring和MyBatis配置: 弹簧:

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="configLocation" value="classpath:spring/mybatis-config.xml"/>

</bean>

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.db.gbs.gbsapps.rds.backend.model.integration.mapping"/>
</bean>

的MyBatis-config.xml中:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
    <mappers>
        <mapper resource="mybatis/ApplicationMapper.xml"/>
    </mappers>
</configuration>

有没有办法解决这个小问题?

7 个答案:

答案 0 :(得分:13)

@Repository
@Mapper 
public interface ApplicationMapper {

会做的伎俩

答案 1 :(得分:4)

另一种方法是将@Component@Repository添加到您的映射器界面。

如:

@Repository
public interface ApplicationMapper {
    //...
}

答案 2 :(得分:3)

我遇到了同样的问题。 在我的Intelli J检查错误中,

  

无法自动装配。的“ApplicationMapper”型无豆中。少...(按Ctrl + F1)   检查bean类中的自动装配问题。

在我的情况下,禁用检查。 (Alt +输入快速修复或更改设置)

  

设置 - 编辑器 - 检查 - 弹簧 - 弹簧核心 - 代码 - Bean类自动装配 - 禁用

(2015.04.27 update)安装myBatis插件后,我也解决了这个问题

答案 3 :(得分:3)

更新的MyBatis插件已修复,没有此问题。

答案 4 :(得分:0)

如何为方便起见定义新注释:

@Repository
@Mapper
public @interface MyMapper{

}

@MyMapper
public interface ApplicationMapper {
    //...
}

答案 5 :(得分:0)

就我而言,myBatis插件不起作用。在变量声明之前添加以下内容将起作用。

@Autowired
@SuppressWarnings("SpringJavaAutowiringInspection")
private ApplicationMapper applicationMapper;@Autowired

答案 6 :(得分:0)

@Resource
UserMapper userMapper;

其他相关内容:resource vs autowired