[英]Regarding spring container eagerly singleton design pattern
我已經為spring開發了一個實用程序類,它是一個單例,它將為整個應用程序提供容器的引用,下面是我的類。
public class SpringUtility
{
private static BeanFactory factory ;
static
{try
{BeanFactory factory = new XmlBeanFactory(new FileSystemResource("Spring.xml"));
} catch(Exception e)
{
e.printStackTrace();
}
}
private SpringUtility()
{}
public static BeanFactory getBeanFactory()
{ return factory;
}}
現在,請告知我要將其轉換為渴望的單例樣式,請告知如何實現。 請告知如何將同一類轉換為渴望的單例設計模式,例如正常的渴望設計模式為..
public class SingletonEager {
private final static SingletonEager INSTANCE = new SingletonEager();
private SingletonEager() {
}
public static SingletonEager getInstance() {
return SingletonEager.INSTANCE;
}
protected Object clone() throws CloneNotSupportedException {
throw new CloneNotSupportedException();
}
}
我也想以類似的方式來春季
如果您希望BeanFactory
從Spring上下文中獲取Bean,那么我建議您實現BeanFactoryAware
,它將保持單例狀態並熱切加載
public class BeanManager implements BeanFactoryAware {
private BeanFactory beanFactory;
public Person getPerson(){ beanFactory.getBean(Person.class) ;}
}
並將此BeanManager
類標記為spring bean
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.