Java Reference
In-Depth Information
einer Klasse mehrere Bean-Defi nitionen gibt, typischerweise mit unterschiedlichen Namen
und unterschiedlichen Property-Festlegungen, möglicherweise auch mit unterschiedlichen
Scope-Einstellungen. Wenn es aber wie in obigem Beispiel nur eine einzige Bean-Defi nition
für die Klasse Counter gibt, kann man in der Konfi gurationsdatei bei der Hello-Komponente
angeben, dass ein Autowiring über den Typ erfolgen soll:
<bean id="hello" class="javacomp.spring.hello.Hello"
autowire="byType">
<property name="greeting" value="Hallo"/>
</bean>
Durch die Autowiring-Einstellung braucht man keine Angabe für die Property mit dem
Namen „counter“. Das Spring-Framework fi ndet selbst heraus, dass es für die Eigenscha
„counter“ des Hello-Beans nur die Möglichkeit gibt, sie auf das Counter-Bean zu setzen, und
führt die Dependency Injection in dieser Weise durch.
Die anderen Varianten des Autowiring wie z. B. „byName“ können interessierte Leserinnen
und Leser in der Spring-Dokumentation nachschlagen.
146 Dritte Spring-Anwendung:
Konfi guration durch Annotationen
Die Konfi guration einer Spring-Anwendung kann statt durch XML-Dateien ausschließlich
mit annotierten Java-Klassen vorgenommen werden. Ein Beispiel einer solchen Klasse für
die Spring-Anwendung aus Abschnitt 14.3 zeigt Listing 14.5.
Listing 14.5 Spring-Konfi gurationsklasse mit @Bean-Annotationen
package javacomp.spring.annoconfig;
import javacomp.spring.counter.Counter;
import javacomp.spring.hello.Hello;
import org.springframework.context.annotation.*;
public class HelloConfig
{
@Bean
public Hello hello()
{
Hello result = new Hello();
result.setGreeting("Hallo");
return result;
}
@Bean
public Counter counter()
{
return new Counter();
}
}
 
Search WWH ::




Custom Search