关于SpringBoot项目在自动注入时mapper报空指针异常的问题


关于SpringBoot项目在自动注入时mapper报空指针异常的问题

今天在做一个入门前后端分离项目的时候,测试DAO层遇到一个问题

@SpringBootTest
public class BookMapperTest {
	
	@Autowired
	private BookMapper bookMapper;				//debug显示bookMapper为null
	
	@Test
	public void findAll(){
		
		List books = bookMapper.selectList(null);			//空指针异常
		
		for (Book book: books) {
			System.out.println(book);
		}	
	}	
}

首先想到的是mapper接口中是不是没写@Mapper

@Mapper
public interface BookMapper extends BaseMapper {
}

一查发现是写了的

在网上查了很久终于发现一位博主的解答完美解决

只需要在测试类上加上@RunWith注解即可

@SpringBootTest
@RunWith(SpringJUnit4ClassRunner.class)
public class BookMapperTest {	
	@Autowired
	private BookMapper bookMapper;	
	@Test
	public void findAll(){	
		List books = bookMapper.selectList(null);		
		for (Book book: books) {
			System.out.println(book);
		}
	}
}

相关