I can\'t find a simple way to inject a component/service given a runtime value.
I started reading @ Spring\'s doc: http://docs.spring.io/spring/docs/current/spring-f
According to this SO answer, using @Qualifier isn't going to help you much: Get bean from ApplicationContext by qualifier
As for an alternative strategy:
if you are spring boot, you could use @ConditonalOnProperty or another Conditional.
a lookup service, as @aux suggests
Note that your use case also appears to revolve around the scenario where beans are created on application startup, but the bean chosen needs to be resolved after the applicationContext has finished injecting the beans.