Am 13.11.2009 ist der zweite Releasecandidat des Spring Frameworks erschienen.
“Highlights” von diesem Release sind die vollständige Unterstützung von JSR-330 (“Dependency Injection for Java”).
Zusätzlich gibt es einen neuen ApplicationContext mit dem es möglich ist eine Springapplikation komplett ohne XML zu starten. AnnotationConfigApplicationContext scannt die angegebenen Packages nach Annotationen ab und registriert die gefunden Beans. Unterstützt werden die Spring eigenen Annotationen (@Component, @Service, …) wie auch die JSR-330 Annotationen (@Inject, @Named) sowie die “JavaConfig” Annotationen (@Configuration).
Weitere Aenderungen von RC2 findet man im Blogeintrag von Jürgen Hoeller.
Hier ein kleines Beispiel mit dem neuen AnnotationConfigApplicationContext.
Eine simple Komponente mit der Spring eigenen Annotation @Component
package ch.ralscha.test;
import org.springframework.stereotype.Component;
@Component
public class MyComponent {
public void sayHello() { System.out.println("Hello World"); }
}
Im Constructor der Klasse AnnotationConfigApplicationContext übergibt man als Parameter eine Liste
von Packagenamen in welchen nach annotierten Klassen gescannt werden soll.
package ch.ralscha.test;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class SpringTest {
public static void main(String[] args) {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext("ch.ralscha.test");
MyComponent component = ctx.getBean("myComponent", MyComponent.class);
component.sayHello();
}
}
Für dieses Beispiel wird kein XML benötigt.