Как аннотация @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
аннотаций?