Mybatis 测试类中调用接口方法报 “Non-static method ‘list()’ cannot be referenced from a static context” 错误的原因和解决方法?
本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《Mybatis 测试类中调用接口方法报 “Non-static method ‘list()’ cannot be referenced from a static context” 错误的原因和解决方法?》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~
在 intellij idea 的 mybatis 测试类中使用接口方法的障碍
在 mybatis 测试类中调用接口方法时,您可能会遇到错误“non-static method ‘list()’ cannot be referenced from a static context”。这是什么原因造成的,如何解决?
问题剖析
您在测试类中定义了一个名为 “usermapper” 的变量,但编译器实际上期望的是一个接口类型。这导致了上述错误消息,表明编译器无法从静态上下文中引用非静态方法。
解决方案
要解决此问题,需要更改代码以正确的类型调用接口方法。以下是更正后的代码段:
import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; public class UserMapperTest { @Autowired private UserMapper userMapper; @Test public void testList() { userMapper.list(); // 调用接口方法 } }
通过将 “usermapper” 类型明确转换为 “usermapper” 变量,您将能够成功调用接口方法。
到这里,我们也就讲完了《Mybatis 测试类中调用接口方法报 “Non-static method ‘list()’ cannot be referenced from a static context” 错误的原因和解决方法?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注主机宝贝公众号,带你了解更多关于的知识点!