@Autowired运行时报空指针
时间: 2024-02-24 13:24:26 浏览: 33
当在测试类中使用@Autowired进行自动装配时,如果只使用JUnit的@Test注解,可能会导致空指针异常。解决这个问题的方法是使用Spring的@RunWith和@SpringBootTest注解来启动Spring容器并加载相关的依赖。在样例中,通过在测试类上使用@RunWith(SpringRunner.class)和@SpringBootTest(classes = WmsApplication.class)注解,可以确保自动装配能够正常工作。例如:
```java
@RunWith(SpringRunner.class)
@SpringBootTest(classes = WmsApplication.class)
public class Test1 {
@Autowired
TestBiz testBiz;
@Test
public void testStr() {
testBiz.bizInit();
testBiz.testStr();
}
}
```
在这个样例中,通过在测试类上使用@RunWith(SpringRunner.class)注解,可以让测试类在运行时使用SpringRunner作为运行器。而@SpringBootTest(classes = WmsApplication.class)注解指定了Spring Boot应用程序的启动类,以便在测试中加载所需的环境和依赖。这样,使用@Autowired进行自动装配的TestBiz bean将会被正确地注入到测试类中,避免了空指针异常的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [springboot中junit测试时使用@Autowired自动装配bean时报错空指针](https://blog.csdn.net/qq_45335399/article/details/126886253)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]