Spring で ApplicationContext 実装を使用しているとします。
ApplicationContext は Java Spring Framework のインターフェースであり、変更できません。
この実装のインスタンスが 1 つだけであることを確認するにはどうすればよいですか?
たとえば。私は次のコードを持っています -
public class ApplicationContextSingleton
{
private static ApplicationContext context;
private static int numberOfInstances = 0;
public static ApplicationContext getApplicationContext()
{
if(numberOfInstances == 0)
{
context = new ClassPathXmlApplicationContext("spring.xml");
numberOfInstances++;
}
return context;
}
}
このようにして、次のように取得した場合、ApplicationContext のインスタンスが 1 つだけであることを確認できます。
ApplicationContext context = ApplicationContextSingleton.getApplicationContext();
しかし、それは別のプログラマーが言うことを止めるものではありません -
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
これにより、新しい ApplicationContext を作成します。これを防ぐにはどうすればよいですか?