Duplicate:
As the refernece said, I mixed up @Component and @Bean. However, the reference does not answer my question.
Is there a way to have Spring components be created dynamically in a kind of pre-processing step?
Current implementation:
@Component
public interafce MyComperator {
    public bool compare(Object o1, Object o2);
}
@Autowired
List<MyComperator> finalList;
We have different classes implementing this interface and get our finalList containing a component for each class.
Problem:
We now want to use this idea in a pre-processing step. The code should look something like this:
@Component
public interafce MyComperator {
    public bool compare(Object o1, Object o2);
}
@Component
public interafce MyStringComperator {
    public bool compareString(String s1, String s2);
}
//Possible?
@Component
public class ComponentFactory {
    @Autowired
    List<MyStringComperator> stringList;
    List<Component> makeComperator() {
        List<Component> list;
        for (MyStringComparator com : stringList) {
            list.add(new MyComperator() {
                         // use com.compareString(...) internally
                         }
                    )
        }    
        return list;
    }
}
@Autowired
List<MyComperator> finalList;
We want classes implementing the ´MyStringComperator´ to be collected in the factory and then create a ´MyComerator´ for each ´MyStringComperator´.
Is this possible?
