service层加了@Autowire还报空指针
时间: 2023-10-07 10:14:36 浏览: 63
在SpringMVC框架中,我们通常使用@Autowired注解来注入Service或Mapper接口。在controller层中注入service接口,在service层中注入其他的service接口或mapper接口是可以的。然而,在我们自定义的非controller或service类中直接使用@Autowired注解进行注入是不可能的,会导致空指针异常。
解决这个问题的方法是,我们可以使用下面的方式来实现注入。首先,在我们自定义的类中声明一个@Autowired注解的成员变量,然后通过构造方法或setter方法来对该成员变量进行赋值。这样,在使用该类时,Spring会自动将依赖的实例注入进来,避免了空指针异常的发生。具体实现步骤和相关使用技巧可以参考Spring实战之@Autowire注解的文章。
举个例子,假设我们有一个非controller或service类叫做UserInfoService,在该类中需要注入一个IUserInfoService接口的实例。我们可以在UserInfoService类中声明如下成员变量并加上@Autowired注解:
@Autowired
private IUserInfoService userInfoService;
然后,在UserInfoService类的构造方法或setter方法中对该成员变量进行赋值:
public UserInfoService(IUserInfoService userInfoService) {
this.userInfoService = userInfoService;
}
或者
@Autowired
public void setUserInfoService(IUserInfoService userInfoService) {
this.userInfoService = userInfoService;
}
这样,在使用UserInfoService类时,IUserInfoService接口的实例就会被自动注入进来,避免了空指针异常的发生。如果你仍然遇到service层加了@Autowire注解后报空指针异常的问题,请检查是否正确声明了@Autowired注解的成员变量并是否正确进行了赋值。如果仍然无法解决问题,可以参考引用中的解决办法,可能会帮助你解决该问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)