我试图让一段运行时状态决定使用哪个接口实现,最好仅通过自动装配。
我已经尝试为使用动态代理的接口创建一个对象工厂,并且我使用限定符来强制@Autowired 注入使用工厂。限定符是必要的,因为工厂和实现都响应相同的接口。
问题是我最终用@Qualifier 注释了每个@Autowired 引用。我真正想做的是用@NotCandidateForAutowiringByInterface(我的幻想注释)之类的东西来注释非工厂实现,或者更好地让spring在注入到非限定字段时更喜欢单个非限定bean
我可能会在这里完全错误地思考,所以欢迎提出其他建议。有谁知道如何做到这一点?