我有一个要求,其中我在 Spring 项目中定义了一个合同,并希望在部署期间自动装配一个外部 JAR,以实现合同(接口集)。我不想强制外部 JAR 依赖于 Spring,以便它尽可能灵活。在我的 Spring 项目中,无论我在哪里使用合同接口,都不能使用外部 JAR 中的类作为自动装配替换吗?让我用一个例子来解释:
Spring project:
@Controller
public class MyController {
@Autowired
private MyInterface interface;
}
现在实现契约接口的JAR可能是客户端提供的,我可能事先不知道包名,甚至可能是非Spring项目,所以不能用@Component注解声明。
例如
public class CustomerClass implements MyInterface {
}
现在在我的spring项目中,有没有办法注入CustomerClass来代替MyInterface?我希望我的问题很清楚。
谢谢