Inject a list of processes to execute using spring DI
This is a learning exercise for me as well so I hope I can be helpful with my answer.


I think you can loose the Configuration class entirely. Add
@Component/@Service annotation to your TextMessageProcessor. Spring should be
capable of figuring out MessageProcessor List wiring on its own. Have you already tried that?


If you are worried about the order of the beans inside MessageProcessor List then you can use @Order annotation on your Service and/or Component.

@Component
@Order(value=1)
public class TextMessageProcessor implements MessageProcessor {
}



Your Configuration class in its current form is conflicting with Open Closed principle. In other words, whenever you add a new MessageProcessor, your configuration will grow. Imagine that configuration after you have 20 processors.
Spring creates qualifier names automatically as your bean names.
From Spring documentation:


  For a fallback match, the bean name is considered as a default qualifier value.

I recommend doing your wiring through constructors instead of fields  (I am especially eyeballing that DAO of yours). That way you preserve an ability to test your code later on. You will need to inject objects through constructors in your tests.
You could move Logging to MessageProcessor if it was an abstract class. Make a field or a method for Logging which returns the logging instance for current class. (Stackoverflow link)