Monthly Archives: May 2007

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.

Auf nach Berlin!

Letztes Jahr war bei mir, abgesehen von der Froscon, bei den Linux-Konferenzen erst mal Pause angesagt, deswegen freu ich mich umso mehr dieses Jahr wieder beim Linux Tag dabei zu sein. Wer es noch nicht mitbekommen hat: Der Linux Tag findet dieses Jahr in Berlin statt, was ich persönlich sehr angenehm find, da mir Berlin sehr gefällt und ich in Wiesbaden in den Rhein-Main-Hallen (wo er letztes Jahr war) sowieso schon bei der JAX immer bin. Naja, auf jeden Fall werde ich dort am Freitag eine Session über das Thema Kerberos als Unternehmsweites Single-Sign-On haben. Hier wird es also weniger um technischen Details gehen als viel mehr um die Bedeutung von Kerberos als SSO-System in einem Unternehmen.

Weitere Termine sind:

21.05.07: Java User Group München: Spring Security als universelle Sicherheitsplattform
05.07.07: Java Forum Stuttgart: Ease of Security
26.06.07-29.06.08: Core Spring Training in Frankfurt am Main