/ / Wie initialisiere ich ein Singleton Spring Bean, wenn es benötigt wird, und nicht beim Start? - Java, Frühling, Javabeans

Wie initialisiere ich eine Singleton-Frühlingsbohne, wenn sie benötigt wird und nicht beim Starten? - Java, Frühling, Javabeans

Ich habe eine Webanwendung, die mehrere Dao verwendetKlassen als Singleton Spring Beans. Mein Problem ist, dass es lange dauert, alle diese Beans zu initialisieren, und ich würde diese Zeit lieber auf den Zeitpunkt verteilen, zu dem die Bean tatsächlich benötigt wird (einige werden möglicherweise nicht einmal verwendet, je nachdem, was der Benutzer tut). Gibt es eine einfache Möglichkeit, dies zu tun?

Antworten:

4 für die Antwort № 1

Stellen Sie sie so ein, dass sie durch Hinzufügen faul initialisiert werden lazy-init="true"

Beispielsweise:

<bean id="lazy" class="com.foo.ExpensiveToCreateBean" lazy-init="true"/>

in Bohnendefinitions-XML

Und in einer auf Anmerkungen basierenden Konfiguration

@Lazy(true)