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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章