2009-04-28 5 views
1

Ich habe eine abstrakte Klasse, Foo, die eine nicht abstrakte Methode namens Bar hat. Ich habe eine Klasse Baz, die Foo erweitert und einen eigenen Konstruktor hat. Wenn Spring die Baz-Klasse beim Start instanziiert, ruft sie standardmäßig den Baz-Konstruktor auf, bevor Werte in die Methode der übergeordneten Klasse, Bar, übergeben werden.Spring Calls Objekt Konstruktor vor der Einstellung Eigenschaften

Gibt es eine Möglichkeit, dieses Verhalten zu überschreiben, so dass Bar vor dem Baz-Konstruktor aufgerufen wird? Oder, wenn ich das Standardverhalten von Spring irgendwie erweitern müsste, was wäre der beste Weg, dies zu tun?

Antwort

2

Es klingt für mich wie das, was Sie beschreiben, ist die Art, wie Java entwickelt wurde, um zu funktionieren. Objekte müssen vollständig konstruiert sein (über Konstruktoren), bevor Sie Methoden für diese Instanz aufrufen können.

Mein Quellcode verwendet die Konstruktoren selten für viel, da sie nicht sehr gut sind. Ich habe begonnen, einige Methoden mit der @ PostConstruct-Annotation zu verwenden, die möglicherweise besser zu Ihren Anforderungen passen.