我一直在使用 JSR 330 @Inject 注释来自动装配我的 Spring bean。我通过删除 @Inject 注释开始试验——但我的应用程序上下文仍然被正确加载。不确定这是否是预期的,也找不到任何 spring 文档来验证这个用例。
// 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();
}
}