關於SpringBoot項目在自動注入時mapper報空指針異常的問題
今天在做一個入門前后端分離項目的時候,測試DAO層遇到一個問題
@SpringBootTest
public class BookMapperTest {
@Autowired
private BookMapper bookMapper; //debug顯示bookMapper為null
@Test
public void findAll(){
List<Book> books = bookMapper.selectList(null); //空指針異常
for (Book book: books) {
System.out.println(book);
}
}
}
首先想到的是mapper接口中是不是沒寫@Mapper
@Mapper
public interface BookMapper extends BaseMapper<Book> {
}
一查發現是寫了的
在網上查了很久終於發現一位博主的解答完美解決
只需要在測試類上加上@RunWith注解即可
@SpringBootTest
@RunWith(SpringJUnit4ClassRunner.class)
public class BookMapperTest {
@Autowired
private BookMapper bookMapper;
@Test
public void findAll(){
List<Book> books = bookMapper.selectList(null);
for (Book book: books) {
System.out.println(book);
}
}
}
