我想让一段运行时状态决定使用哪个接口的哪个实现,最好是仅通过自动装配。Spring @Autowiring,如何使用对象工厂来选择实现?
我曾尝试制造物体的工厂接口泰德使用动态代理服务器,以及我用限定符胁迫的@Autowired注射使用工厂。限定符是必需的,因为工厂和实现都响应相同的接口。
这个问题是我最终用@Qualifier注释每个@Autowired引用。我真正想做的是用类似@NotCandidateForAutowiringByInterface(我的幻想注释)的方式注释非工厂实现,或者甚至更好地使Spring在注入非合格域时更喜欢单个未合格的bean
我可能会在这里错误地思考,因此欢迎提供备选建议。 任何人都知道如何做到这一点?
Spring javaconfig解决了这个问题。但是,一旦你获得完全注释的配置的味道,javaconfig的整个概念似乎过度设计。对于javaconfig为+1 – krosenvold 2008-11-14 17:14:57