我是 Spring MVC 的新手。我正在学习依赖注入(inject)的概念。我正在关注此链接以获取使用依赖注入(inject)的 Spring 代码示例。
在那个例子中,我非常清楚依赖注入(inject)的概念。但我有一个小问题,如何告诉 Spring 我想使用多个形状。在第一个示例(基于构造函数)中,他给出了对 Circle 对象的引用,以便它绘制一个圆圈。
<bean id="geometryExample1" class="com.boraji.tutorail.spring.GeometryExample1">
<constructor-arg ref="circleShape"/>
</bean>
但是如果想同时绘制圆形、矩形和其他形状怎么办?我如何在 Spring 中告诉或配置,根据我提供的形状,它应该使用适当的形状来绘制形状。
感谢任何帮助。提前致谢。有什么建议吗?
最佳答案
请查找使用 Java 配置而不是 XML 配置的教程。如果您学会使用 Java 配置,您的生活将会变得更加轻松。
Autowiring 时,您可以指定@Qualifier
并通过id引用bean,例如
// This is your circle object
@Autowired
@Qualifier("geometryExample1")
public GeometryExample1 circleShape;
如果你有
<bean id="squareExample" class="com.boraji.tutorail.spring.GeometryExample1">
<constructor-arg ref="squareShape"/>
</bean>
...然后在您的代码中您将拥有以下内容:
// This is your square object
@Autowired
@Qualifier("squareExample")
public GeometryExample1 squareShape;
参见How to autowire by name in Spring with annotations?了解更多详细信息以及使用 Java 配置实例化 bean 的示例。
关于java - Spring MVC 依赖注入(inject)理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47797826/