Orden de frijoles cuando se incluye automáticamente en la lista

He definido una interfazIWorker y algunas implementaciones de la misma comoWorkerA yWorkerB, ambos anotados con@Component.

Luego los autoconecté a mi aplicación a través de:

@Autowired
private List<IWorker> workers = new ArrayList<IWorker>();

¿De qué depende el orden de inclusión de los trabajadores en la lista?

¿Cómo puedo dejar adicionalWorkerC yWorkerD (también implementaciones deIWorker) no anotado con@Component ser conectado automáticamente en la misma lista a través de miapplicationContext.xml?

Es el orden deWorkerC yWorkerD del xml conservado?

¿Hay alguna regla en la que pueda confiar en qué orden se incluirán los trabajadores A, B, C y D en la lista?

Respuestas a la pregunta(1)

Su respuesta a la pregunta