package com.foo; import java.util.List; import org.springframework.beans.factory.FactoryBean; public class ComponentFactoryBean implements FactoryBean { private Component parent; private List children; public void setParent(Component parent) { this.parent = parent; } public void setChildren(List children) { this.children = children; } @Override public Component getObject() throws Exception { if (this.children != null && this.children.size() > 0) { for (Component child : children) { this.parent.addComponent(child); } } return this.parent; } @Override public Class getObjectType() { return Component.class; } @Override public boolean isSingleton() { return true; } }