问题
如何使用Spring中的BeanFactory实现单例模式?
解决
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.BeanFactoryAware;
import org.springframework.stereotype.Component;
import org.springframework.util.Assert;
@Component
public class instanceTest implements BeanFactoryAware {
private static instanceTest INSTANCE = null;
/**
* 获取instanceTest实例
*/
public static void getInstanceTest() {
Assert.notNull(INSTANCE,"获取instanceTest实例失败!");
}
@Override
public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
//获取Spring中的bean
instanceTest bean = beanFactory.getBean(this.getClass());
Assert.notNull(bean,"获取instanceTest实例失败 :(");
INSTANCE = bean;
}
}