Как аннотация @Required работает с JavaConfig?

Я довольно новичок в Spring Framework, и у меня есть проблемы, чтобы понять@Required аннотация в сочетании с настроенным приложением Java.

Вот пример.

Config-File

@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;
    }
}

Инициализация контекста

ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
MovieHolder holder = (MovieHolder) context.getBean("holder");
System.out.println("movie: " + holder.getMovie());

Насколько я понял документация@Required аннотации, должно возникнуть исключение, потому что фильм не устанавливается напрямую или с помощью автопроводки. Вместо этого выводmovie: null.

Что я делаю неправильно? Или это не правильное использование@Required аннотаций?

Ответы на вопрос(2)

Ваш ответ на вопрос