I want to read data in ApplicationListener, but my object is not initialized. Below is my code:
AppContextListener.java
@Component
public class AppContextListener implements ApplicationListener<ContextRefreshedEvent> {
    @Override
    public void onApplicationEvent(ContextRefreshedEvent event) {       
        AppContext.getInstance();
    }
}
AppContext.java
public class AppContext {    
    private static AppContext instance;
    @Autowired
    MyElasticsearchRepository repository;
    public AppContext(){
        InitData();
    }
    public static synchronized AppContext getInstance() {
        if (instance == null) {
            instance = new AppContext();
        }
        return instance;
    }   
    private void InitData(){       
        List<MyEntity> dataList = repository.findAllEntities();//repository is null here
        //.......
    }   
}
MyElasticsearchRepository.java
 public interface MyElasticsearchRepository extends ElasticsearchRepository<MyEntity,String>
 { }
problem
As you can see in my code, at InitData(), repository is null. I don't know why
@Autowired MyElasticsearchRepository repository;does not worked here.
Please show me how to fix this. Thank you very much.
 
     
     
     
     
    