Tag Archives: Annotations

Spring Konfiguration mit Annotations

Mit Spring 2.1 wird die Unterstützung von Annotations nochmals erweitert werden. Bei Spring 2.0 wurde ja schon @Repository, @Required, @Transactional und die AspectJ-Annotation-Syntax eingeführt.

Bei Spring 2.1 geht es jetzt soweit, das die komplette SpringKonfiguration über Annotations gemacht werden kann. Die bisherige Konfiguration mit XML bleibt natürlich trotzdem vorhanden und wird auch nicht deprecated, vielmehr wird dadurch eine Alternative angeboten die in einigen Bereichen vielleicht ganz interessant sein dürfte.

Wenn bei Spring 2.1 ein Service z.B. einen DAO benötigt kann dies dann durch folgenden Code geschehen:

@Autowired
private void setMeinTollerDao(MeinTollerDao dao)

Der Service kann dann entweder mit folgender Konfiguration angelegt werden:

<bean class="service.MeinTollerService"/>

..oder aber von Spring “gesucht” werden:

<context:component-scan base-package="service"/>

Dazu muss dann bei der Klasse noch die Annotation @Component hinzugefügt werden.

Der DAO kann dann z.B. wiederum in einer Spring-XML-Datei konfiguriert sein oder ebenfalls über @Component erstellt werden. Es ist also auch beliebiges mischen möglich, und mit @Resource kann auch ein explizites Mapping auf eine Spring Bean anstatt autowire gemacht werden.

Weiterhin werden auch die JSR-250 Annotations @PostConstruct und @PreDestroy unterstützt.

Eine Step-by-Step Anleitung von meinem Kollegen Mark Fisher gibt es hier: http://blog.interface21.com/main/2007/05/14/annotation-driven-dependency-injection-in-spring-21/

Natürlich sind das Features über die diskutiert werden kann, weshalb es dazu auch einen Thread in der Spring User Group Germany gibt. Hier ist jeder eingeladen mit zu diskutieren.