簡體   English   中英

關於彈簧容器急切的單例設計模式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM