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