Mein Ziel ist ein Framework, in dem konkrete Arten von Beans leicht durch eine Eigenschaftendatei geändert werden können. Ich bevorzuge auch Anmerkungen zu XML. Im Idealfall würde ich so eine Kombination von @Resource
und Spel verwenden:Spring Autowire mit Annotationen und einem Typ in einer Eigenschaftendatei definiert?
@Resource(type="#{myProperties['enabled.subtype']}")
SomeInterface foo;
wo ich myProperties
mit einem PropertiesFactoryBean
oder <util:properties>
aus einer Datei geladen haben, der folgendes beinhaltet:
enabled.type = com.mycompany.SomeClassA; // which implements SomeInterface
Dies gilt nicht arbeiten, weil das Argument type
ein Literal sein muss, dh kein SpEL erlaubt. Was ist die beste Vorgehensweise hier?
Update: Siehe meine Antwort unten.
Wenn Sie faul sind, betrachten Sie @Bean (autowire = Autowire.BY_TYPE). –