Springのシングルトンパターンの実装方法
Springでは、シングルトンパターンの実装にはさまざまな方法があります。
- Spring コンテナは、すべての Bean オブジェクトをシングルトンで管理します。Bean がシングルトンとして宣言された場合、Bean インスタンスはコンテナの起動時に作成され、Spring コンテナの Bean ファクトリに配置されます。その後、Bean をリクエストするたびに、同じインスタンスが返されます。
- SpringではBeanのスコープを指定するアノテーションが用意されており、その中にはBeanをシングルトンとして宣言する@Scope(“singleton”)アノテーションを含んでいます。
- 設定ファイルでの利用: Springで設定ファイル内でタグのscope属性を使用することでBeanのスコープを指定でき、「singleton」を設定するとシングルトンパターンを実現できます。
- SpringのJava設定クラスを使用する:Javaクラスに「@Configuration」アノテーションを付けて「Bean」アノテーションでBeanを宣言、「@Scope(“singleton”)」アノテーションでシングルトン模式として設定します。
Springコンテナでは、どの手段を使用する場合でも同一コンテナ内の同名のシングルトンBeanはインスタンスが1つのみ保証され、そのインスタンスはコンテナ起動時に生成、初期化されます。