有一個普通的 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;
}