接口的依赖注入

时间:2017-04-08 17:59:56

标签: java spring dependency-injection

我有以下代码结构:

document.body.ontouchmove = function(e) {
    if ((window.innerHeight + window.scrollY) == document.body.offsetHeight) window.location = "page2.html";
};

即使我在spring.xml中定义bean,程序如何知道要为Drawing选择哪个形状。如何将圆形或三角形注入绘图动态

1 个答案:

答案 0 :(得分:0)

  

即使我在spring.xml中定义bean,程序如何知道   哪种形状可以选择绘图。圆圈或三角形怎么样?   动态注入绘图?

不,在您的xml(或通过注释)中,您将提供类似Triangle的实现类,以便容器可以注入您的Drawing类,如下所示:

<bean id="shape" class="com.myproject.Triangle"/> <!--Triangle is concrete class-->

您可能感兴趣的另一个重点是,如果有多个实现类可用(对于接口),那么您需要告诉Spring容器需要选择哪个实现和&amp;注射。 Spring为此提供了各种选项,如@Primary@Qualifier等,通过它您可以告诉容器需要使用哪些实现。

您可以查看here有关它们如何提供具体类的各种bean示例。另外,请here查看@Primary用法。