【问题标题】:Spring InitializingBean does not work with CDISpring InitializingBean 不适用于 CDI
【发布时间】:2013-06-20 15:29:38
【问题描述】:

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

【问题讨论】:

    标签: java spring dependency-injection cdi


    【解决方案1】:

    Spring 支持 JSR 330,即 @Inject@Named@Scope@Qualifier@Provider (http://jcp.org/aboutJava/communityprocess/final/jsr330/index.html),Spring 中不支持 JSR 299 或 JSR 346。

    【讨论】:

      【解决方案2】:

      根据 Spring 文档:

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

      【讨论】:

      • 这不能回答我的问题。我不是在寻找替代品,我在问为什么不支持它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-20
      • 2018-10-10
      • 1970-01-01
      • 2016-08-27
      • 2020-07-28
      • 1970-01-01
      相关资源
      最近更新 更多