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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage