Spring Singleton-Bereich - pro Container pro Bean

9

Ich stelle diese Frage in Bezug auf meine Frage:

Spring-Singleton-Bereich

Spring singleton ist im Referenzhandbuch als pro Container pro Bean definiert.

pro Container bedeutet, wenn wir möchten:

%Vor%

Beans.xml:

%Vor%

Dann wird " myobj==myobj1 " zu "true". Beide zeigen auf gleiche Instanz .

Für pro Bean Teil der Phrase pro Container pro Bean war ich etwas verwirrt. Bin ich richtig für pro Bean :

Wenn wir mögen

%Vor%

Beans.xml:

%Vor%

Dann wird myobj==myobj1 falsch ausgegeben. Bedeutet sie dann zwei verschiedene Instanzen ?

    
a Learner 16.10.2012, 15:22
quelle

3 Antworten

6

Das ist richtig.

Wenn es hilft, können Sie sich auch Spring-Beans als Instanzen vorstellen, die Sie ansonsten manuell in Ihrem Java-Code mit dem Konstruktor erstellt hätten.

Wenn Sie die Bean in der Spring XML-Datei definieren, wird diese Bean (Instance) mit Spring's App Context registriert und diese Instanz kann dann an die anderen Bereiche des Codes weitergegeben werden.

Indem Sie eine neue Bean erstellen, erstellen Sie effektiv eine neue Instanz. Sie könnten also möglicherweise eine beliebige Anzahl von Beans (Instanzen) der gleichen Klasse erstellen

    
rk2010 16.10.2012, 15:33
quelle
0

myBean ist ein Spring-Singleton im Sinne jedes Aufrufs von beans.getBean ("myBean") gibt immer dieselbe Instanz zurück. Und mySecondBean, das eine andere ID hat, ist ein anderer Frühlings Singleton. Sie können verschiedene Singleton-Beans der gleichen Klasse im selben ApplicationContext haben.

    
salsinga 10.08.2015 09:50
quelle
-1

Ja, du hast Recht. Testen würde es dir gesagt haben.

    
JB Nizet 16.10.2012 15:24
quelle

Tags und Links