service靜態注入後拋出空指針異常

有一個普通的 Service

@Service
public class AddressService {
}

由於某些原因需要靜態注入

@Autowired
private static AddressService staticAddressService;

問題:調用時發現 staticAddressService 爲 null,拋出了空指針異常

解決方法:

// 1. 注入一個非靜態 service
@Autowired
private AddressService addressService;

// 2. 注入一個實際需要的靜態 service
@Autowired
private static AddressService staticAddressService;

// 3. 將靜態 service 指向 非靜態 service(有點繞 ==)
@PostConstruct
public void init() {
	staticAddressService = addressService;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章