I am trying to let a piece of runtime state decide WHICH implementation of an interface to use, preferably solely by autowiring.
I have tried making an object factory for the interface thet uses dynamic proxies, and I used qualifiers to coerce the @Autowired injections to use the factory. The qualifiers are necessary because both the factory and the implementations respond to the same interface.
The problem with this is that I end up annotating every @Autowired reference with the @Qualifier. What I'd really want to do is annotate the non-factory implementations with something like @NotCandidateForAutowiringByInterface (my fantasy annotation), or even better make spring prefer the single un-qualified bean when injecting to an un-qualified field
I may thinking along the totally wrong lines here, so alternate suggestions are welcome. Anyone know how to make this happen ?
How can I have previous value of checkbox in Spring?
How do I setQueryTimeout on SimpleJdbcTemplate?
Relative References in Expressions in XML bean definitions in Spring 3.0
Spring ApplicationContext Bean Scope
Receiving an array of Object from a web form using Spring framework
Eclipse keeps changing the Targeted Runtimes
How to use Spring to inject an object in a setter that doesnt follow the Java bean specification?
I wonder if it would offer a solution to your problem..
Bulk inserts with Spring / Hibernate