package org.example.Utils;

import org.example.Impl.DataImpl;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;

// 这个类会被 Spring 管理，用于保存上下文
@Component
public class SpringContextHolder implements ApplicationContextAware {
    private static ApplicationContext applicationContext;

    // Spring 初始化时自动调用，保存上下文
    @Override
    public void setApplicationContext(ApplicationContext ctx) throws BeansException {
        applicationContext = ctx;
    }

    // 静态方法：获取 Spring 管理的 Bean（这里专门获取 DataImpl）
    public static DataImpl getDataImpl() {
        return applicationContext.getBean(DataImpl.class);
    }
}
