【发布时间】:2013-05-22 02:02:24
【问题描述】:
我是 Spring 框架的新手,在理解 @Required 注释与 Java 配置的应用程序时遇到了问题。
这是一个例子。
配置文件
@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注解的正确用法吗?
【问题讨论】:
标签: spring annotations required