当我使用CDI时,我可以使用@Produces
注释来创建一个生成器方法,以便选择实现接口的bean将由@Inject
注释注入。
现在我正在使用Spring,但我没有找到类似的东西。当我使用@Produces
注释时,我需要使用什么来获得与CDI中@Autowired
注释相同的结果?
答案 0 :(得分:19)
您正在寻找@Bean
:
@Bean是方法级注释,是XML元素的直接模拟。注释支持大多数提供的属性,例如:init-method,destroy-method,autowiring,lazy-init,dependency-check,depends-on和scope。
示例(取自上面的链接):
@Configuration
public class AppConfig {
//similar to @Produces CDI annotation
@Bean
public TransferService transferService() {
return new TransferServiceImpl();
}
}
我建议你付这样的阅读:Spring DI and CDI comparative study