springboot测试类mapper类无法自动注入,no beans autowired
今天在搭建springboot整合mybatis的时候,在测试类中测试增删改查,然而mapper对象一直无法自动注入,特此记录一下。我是通过properties进行配置的,关于mybatis部分的配置只需要按照如下配置即可。mybatis.mapper-locations=classpath:mapper/*.xmlmybatis.type-aliases-package=com.xxx.xxx.
·
今天在搭建springboot整合mybatis的时候,在测试类中测试增删改查,然而mapper对象一直无法自动注入,特此记录一下。
我是通过properties进行配置的,关于mybatis部分的配置只需要按照如下配置即可。
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.xxx.xxx.bean
其中,classpath指的是resources目录,我在resources目录下还建立了一个mapper文件夹,用于存放mapper.xml文件。
我刚开始就只是配置了这里,然后就报错了,接下来还需要配置一个地方,在pom.xml文件中加入如下配置。
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
这个直接放到build标签中就行了,即按照如下方式填写。
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
<!--MyBatis自动生成工具插件-->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
</plugins>
</build>
最后就可以在测试类中测试,不过需要注意的是,在测试类上还要加一个扫描,不然也是找不到mapper的。
@MapperScan("com.xxx.xxx.mapper")
其他还有很多情况无法自动注入mapper,这里我就不记录了。
另外,这里需要使用@resource注解,而不是@autowired注解,尽管@autowired注解也可以使用,但是会标红。
我目前对@resource注解和@autowired注解还不太了解,后续将深入分析下这两个注解的含义和区别。
更多推荐
已为社区贡献1条内容
所有评论(0)