2017-11-28 15 views
0

私はSpringがシングルトンBeanを作成できることを知っています。自分でJava Beanを作成するために「シングルトンパターン」を使用する必要はないということですか?そして、春のシングルトンとシングルトンのパターンの違いは何ですか?Spring Beanシングルトンとシングルトンパターン

答えて

1

スプリングシングルトンはユニークですApplicationContext(スプリングコンテナあたり)インスタンスです。つまり、新しいApplicationContextを作成すると、シングルトンであってもBeanの新しいインスタンスが作成されます。

ただし、オリジナルのJavaシングルトンは、Classloaderごとに1つのインスタンスを意味します。シングルトンインスタンスが特定のクラスローダーの場合と同じであることを意味します。ほとんどの場合は問題ありませんが、JVMごとにシングルシングルトン、シングルインスタンスが必要な場合は、追加作業が必要です。この例を見てくださいhttps://stackoverflow.com/a/47445573/5343269

あなたのアプリケーションに単一のスプリングコンテナをインスタンシエートすると、スプリングシングルトンBeanはシングルトンとして扱うことができますが、これはSpringコンポーネントのみに当てはまります。つまり、このインスタンスはSpring Beanではないクラスからアクセスすることはできません。

安全のために、バグシングルトンに依存せず、独自のシングルトンクラスを作成してください。

+0

回答に値するこの質問について独自のものがない限り、重複としてフラグを立てる方が良いです。これについての優れた理由のいくつかは、メタについて論じられています。[回答する前に重複したものを検索して投票するのは私の責任ですか?](https://meta.stackexchange.com/questions/91180/is-it-my-responsibility対決前の投票のために複製を検索する/ 105231#105231) –

関連する問題