如何通过提供接口名称来获取实现的bean

时间:2014-01-01 10:45:44

标签: java spring

在Google Guice中,我们可以按如下方式定义界面和实现:

@ImplementedBy(MyImplementation.class)
interface MyInterface {
    ....
}

class MyImplementation implements MyInterface {

}

如果我们使用:

injector.getInstance(MyInterface.class);

返回MyImplementation的一个实例,因为它知道MyImplementation实现了MyInterface。

在Spring中是否有类似的方法来实现这一目标?

非常感谢。

1 个答案:

答案 0 :(得分:0)

在Spring中,您可以使用org.springframework.stereotype包中的一个注释来注释您的实现,例如@Service。

如果您使用classpath scanning来获取您的实现,您可以从bean商店获取您的接口实例。