Idea inspects batis mapper bean wrong
Solution 1
Updated MyBatis plugin is fixed and does not have this issue.
Solution 2
@Repository
@Mapper
public interface ApplicationMapper {
will do the trick
Solution 3
Another way is to add @Component
or @Repository
to your mapper interface.
Such as:
@Repository
public interface ApplicationMapper {
//...
}
Solution 4
I got the same problem. In my Intelli J Inspection Error,
Could not autowire. No beans of 'ApplicationMapper' type found. less... (Ctrl+F1) Checks autowiring problems in a bean class.
in my case, disabled inspections. (Alt + Enter quick fix or change settings)
Settings - Editor - Inspections - Spring - Spring Core - Code - Autowiring for Bean Class - disable
(2015.04.27 update) After installed myBatis plugin, I had solved this problem, too
Solution 5
How about defining a new annotation for convenience:
@Repository
@Mapper
public @interface MyMapper{
}
@MyMapper
public interface ApplicationMapper {
//...
}
Oleksandr Cherniaiev
Updated on June 20, 2022Comments
-
Oleksandr Cherniaiev almost 2 years
There's web project with Spring and MyBatis. I use IntelliJ IDEA for development. IDEA cannot correctly inspect MyBatis beans and produces annoying underscorings, though link to Data Access Object is present.
Inspection comment:
Could not autowire. No beans of 'ApplicationMapper' type found.
My Spring and MyBatis configurations: 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>
Is there a way to fix this small issue?