【问题标题】:spring component scan for classesspring 组件扫描类
【发布时间】:2009-10-07 13:49:36
【问题描述】:

我想扫描包中作为特定类的子类的所有类。 然后我想采用这些类,并为它们中的每一个实例化一个相同类型的 bean,使用该类作为属性。 然后我想收集所有这些匿名bean并将它们收集起来。是否可以像这样在 XML 中配置 spring 上下文? 谢谢

【问题讨论】:

    标签: spring


    【解决方案1】:

    只要使用这个类:

    ClassPathScanningCandidateComponentProvider

    method: findCandidateComponents.
    

    【讨论】:

      【解决方案2】:

      在 Java 中,如果不能直接访问存储类文件的位置(通常是文件系统),就无法列出包中包含的所有类。

      关于您问题的第二部分,请查看spring-list-beans-by-type

      【讨论】:

      • Spring 的组件扫描就是这样做的(扫描某个包下的所有类并检查它们的特定属性),所以这似乎是可能的。
      【解决方案3】:

      与您所要求的最接近的是 <context:component-scan> 模式(请参阅文档 here),但您所要求的内容非常具体,老实说,并没有多大意义感觉。如果你能举个具体的例子,那会很有帮助。

      【讨论】:

        【解决方案4】:

        实现这一点的最佳方法可能是编写自己的 Spring FactoryBean 接口实现,并在该实现中进行所有自省/反射和扫描,以生成您想要放入 Spring applicationContext 的最终 bean .

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-01-13
          • 1970-01-01
          • 2019-02-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-01-11
          相关资源
          最近更新 更多