在SpringBoot中关于Junit测试遇到的空指针问题解决

本文分享了作者在SpringBoot中使用Junit测试遇到的空指针问题,重点介绍了如何通过添加@MapperScan注解解决Mapper注入问题,以及相关配置YAML文件和测试类的最佳实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于在SpringBoot中遇到Junit测试遇到的空指针问题解决

@Autowired
private EmpService empService;
@Autowired(required = false)
private EmpMapper empMapper;
@Test
public void test() {
    System.out.println(empMapper.findEmps());
}

先用Service测试不通后试着拿Dao测试,但Dao也测不通就觉得不是代码的问题,是测试类的问题
参考了很多的加注解的办法@RunWith(SpringRunner.class)
@SpringBootTest
大多数是加这两个注解和测试类名要和启动类名一样
我的yml文件里是这样的
mybatis: mapper-locations: classpath:mapping/*.xml type-aliases-package: com.qfedu.po
我并没有用xml的方式来做,用的纯注解的方式很简单的一个select * 。
为了不报错在classpath文件下创了一个空的mapping包
试了很多办法后发现了解决办法:
在测试类顶部加@MapperScan(basePackages = {“com.qfedu.mapper”})
其中basePackages里为当前Dao层,我这里Dao层叫做mapper。
这个注解加了之后问题得到了解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值