Autowired объект имеет значение null при создании экземпляра статического класса - PullRequest
0 голосов
/ 17 октября 2018

У меня есть основной класс в весенней загрузке следующим образом:

public class Application extends MicroService {
private static Application app = null;

public static synchronized Application getApp() {
    if(app == null) {
        app = new Application();
    }
    return app;
}

public static void main(String[] args) {
    getApp().run(args);
}
}  

Базовый класс

@Service
@ComponentScan({"com.example.microservice"})
@SpringBootApplication
public class MicroService {

private static final Logger LOGGER = LoggerFactory.getLogger(MicroService.class);
private static ConfigurableApplicationContext context;

private MicroServiceProperties properties;
private KafkaSender kafkaSender;

@Autowired
public void setProperties(MicroServiceProperties properties) {
    this.properties = properties;
}

@Autowired
public void setKafkaSender(KafkaSender kafkaSender) {
    this.kafkaSender = kafkaSender;
}

Когда я получаю доступ к объекту с автопроводкой следующим образом,Я получаю исключение NullPointerException.

Application.getApp().getKafkaSender().send(data);
...