7

有 Spring 和 MyBatis 的 web 项目。我使用 IntelliJ IDEA 进行开发。尽管存在指向数据访问对象的链接,但 IDEA 无法正确检查 MyBatis bean 并产生烦人的下划线。

检验意见:

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

我的 Spring 和 MyBatis 配置: Spring:

<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>

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

4

7 回答 7

19
@Repository
@Mapper 
public interface ApplicationMapper {

会成功的

于 2016-12-22T10:03:13.607 回答
7

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

如:

@Repository
public interface ApplicationMapper {
    //...
}
于 2016-01-04T04:04:16.653 回答
3

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

于 2015-04-24T07:14:11.400 回答
3

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

无法自动接线。找不到“ApplicationMapper”类型的 bean。less... (Ctrl+F1) 检查 bean 类中的自动装配问题。

就我而言,禁用检查。(Alt + Enter 快速修复或更改设置)

设置 - 编辑器 - 检查 - Spring - Spring Core - 代码 - 自动装配 Bean 类 - 禁用

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

于 2015-04-23T06:51:48.633 回答
2

为方便起见定义一个新的注释怎么样:

@Repository
@Mapper
public @interface MyMapper{

}

@MyMapper
public interface ApplicationMapper {
    //...
}
于 2017-06-01T03:50:32.443 回答
0

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

@Autowired
@SuppressWarnings("SpringJavaAutowiringInspection")
private ApplicationMapper applicationMapper;@Autowired
于 2018-03-08T07:55:57.387 回答
0
@Resource
UserMapper userMapper;

其他相关的事情:资源与自动装配

于 2020-12-06T10:49:09.473 回答