Wie funktioniert @Required Annotation mit JavaConfig?
Ich bin ziemlich neu im Spring Framework und habe Probleme, das zu verstehen@Required
Anmerkung in Kombination mit einer Java-konfigurierten Anwendung.
Hier ist ein Beispiel.
Konfigurationsdatei
@Configuration
public class AppConfig {
@Bean
public Movie movieA() {
return new Movie();
}
@Bean
public MovieHolder holder() {
return new MovieHolder();
}
}
MovieHolder.java
public class MovieHolder {
private Movie movie;
public Movie getMovie() {
return movie;
}
@Required
public void setMovie(Movie movie) {
this.movie = movie;
}
}
Kontextinitialisierung
ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
MovieHolder holder = (MovieHolder) context.getBean("holder");
System.out.println("movie: " + holder.getMovie());
Soweit ich die Dokumentation der@Required
Anmerkung, es sollte eine Ausnahme geben, da der Film nicht direkt oder automatisch eingestellt wird. Stattdessen ist die Ausgabemovie: null
.
Was mache ich falsch? Oder ist das nicht die richtige Verwendung des@Required
Anmerkung?