Java Reference
In-Depth Information
Wie in Listing 14.5 zu sehen ist, gibt es statt eines <bean>-Tags eine mit @Bean annotierte
Methode, in der ein Objekt einer Bean-Klasse angelegt wird. Die Möglichkeit der im vorher-
gehenden Abschnitt besprochenen automatischen Verdrahtung kann man auch in diesem
Fall in Anspruch nehmen, wenn man die Methode setCounter der Klasse Hello mit @Auto-
wired annotiert:
@Autowired
public void setCounter(Counter counter)
{
this.counter = counter;
}
Die Erzeugung des ApplicationContext muss jetzt wie folgt geändert werden:
ApplicationContext context =
new AnnotationConfigApplicationContext(HelloConfig.class);
Die restliche Anwendung kann so bleiben, wie sie war. Insbesondere lassen sich auch von
diesem ApplicationContext die Spring-Komponenten über die Methode getBean in genau
derselben Weise wie zuvor beschaff en.
Die restlichen Spring-Anwendungen werden wieder durch XML-Dateien konfi guriert.
147 Vierte Spring-Anwendung:
BeanPostProcessor
In einer XML-Konfi gurationsdatei können ein oder mehrere BeanPostProcessor-Objekte als
Spring-Komponenten defi niert werden. Ein BeanPostProcessor ist eine Klasse, welche die
Schnittstelle BeanPostProcessor des Spring-Frameworks (s. Listing 14.6) implementiert.
Listing 14.6 Schnittstelle BeanPostProcessor des Spring-Frameworks
package org.springframework.beans.factory.config;
public interface BeanPostProcessor
{
public Object postProcessBeforeInitialization(Object bean,
String name)
throws BeansException;
public Object postProcessAfterInitialization(Object bean,
String name)
throws BeansException;
}
Das Spring-Framework erkennt selbstständig, ob es sich bei einer Spring-Komponente um
einen BeanPostProcessor handelt oder nicht (Autodetection). Wenn es ein BeanPostProces-
sor ist, wird dieser registriert. Nach der Erzeugung jeder „normalen“ Spring-Komponente
werden dann die beiden Methoden der BeanPostProcessor-Schnittstelle auf allen registrier-
ten BeanPostProcessor-Objekten aufgerufen. Diesen Methoden wird jeweils das soeben neu
 
Search WWH ::




Custom Search