Spring InitializingBean不适用于CDI

时间:2013-06-24 07:31:14

标签: java spring dependency-injection cdi

当使用以下注释的类:@Component或@Service或@Repository(Spring注释)InitializingBean工作正常并调用afterPropertiesSet()方法时,如果我有一个用{{注释的类1}} - CDI注释,方法@Named永远不会被调用。 Spring不应该完全支持CDI注释吗?所有依赖注入都可以正常使用afterPropertiesSet(),它只是InitializingBean,它不起作用。有人可以解释一下吗?

2 个答案:

答案 0 :(得分:2)

根据Spring Documentation:

  

建议您不要使用InitializingBean接口   因为它不必要地将代码耦合到Spring。或者,   使用@PostConstruct注释

答案 1 :(得分:2)

Spring支持JSR 330,@Inject@Named@Scope@Qualifier@Providerhttp://jcp.org/aboutJava/communityprocess/final/jsr330/index.html),没有Spring中的JSR 299或JSR 346支持。