Was ist der Lebenszyklus von spring bean?
Ich bin verwirrt über den Lebenszyklus des Frühlings.
XmlBeanFactory beanFactory
= new XmlBeanFactory(new ClassPathResource("SpringHelloWorld.xml"));
Ob das obige snippet des codes erstellt das Objekt oder nicht?
Wenn die obige Antwort ist wahr.
a) Dann, für die Bohnen, wo scope "singleton" Holen Sie sich das Objekt, das erstellt wurde, während das obige code-snippet. Bin ich richtig oder falsch?
b) Für den Fall, bei dem Umfang ist ein "Prototyp", ob der erstellte Objekt wurde nicht verwendet. Da die container immer wieder neue Objekt.
XmlBeanFactory beanFactory
= new XmlBeanFactory(new ClassPathResource("SpringHelloWorld.xml"));
Ob das obige snippet des codes erstellt das Objekt oder nicht?
Wenn die Antwort falsch ist,
Wie das spring-framework überprüft, ob die bean-definition korrekt ist oder nicht.
From the answer of Henry
Usually, singleton beans are created when the context starts. This can be changed with the lazy-init or default-lazy-init attributes.
Prototype beans are only created when needed.
Only syntactically, there might still be errors when the bean is instantiated, for example if a required property is not provided.
Du musst angemeldet sein, um einen Kommentar abzugeben.
BeanFactory
nicht vor dem instanziieren singletons auf Start wieApplicationContext
tut. Also selbst wenn Ihr bean ist nicht faul und singleton ist, wird es nicht erstellt.prototype
Bohnen erstellt werden, auf Nachfrage, jedes mal, wenn Sie Fragen, für eine prototype-bean erhalten Sie eine neue Instanz. Aber wenn so ein bean verwendet wurde, während autowiring, die gleiche Instanz verwendet werden, für immer.Mit
ApplicationContext
alle singletons erstellt eifrig und Prototyp Bohnen nur auf Nachfrage.Siehe auch
In der Regel, singleton-beans erstellt werden, wenn der Rahmen beginnt. Dies kann geändert werden, mit der
lazy-init
oderdefault-lazy-init
Attribute.Prototyp Bohnen werden nur erstellt, wenn Sie benötigt wird.