我使用JSR 330 @Inject批注来自动装配我的Spring bean。我开始尝试删除@Inject注释 - 但我的应用程序上下文仍然正确加载。不确定这是否是预期的,并且无法找到任何弹簧文档来验证此用例。
// This context is loaded correctly - and beans exist for B, C and Db
final ApplicationContext context = new AnnotationConfigApplicationContext(ApplicationConfig.class);
@Import({ B.class })
@Configuration
public class ApplicationConfig {
@Bean
public Db db() {
return new Database();
}
@Bean
// I thought this method would need an @Autowire or @Inject annotation to resolve b!?
public C c(final B b){
return new C(b);
}
}
@Configuration
public class BConfig {
@Bean
public B b() {
return new B();
}
}
答案 0 :(得分:2)
@Autowired
(或@Inject
,如果您愿意)隐含在@Bean
方法中(总是据我所知)。