我有一個Spring控制器的定義如下:的Spring bean創建失敗豆類沒有「id」屬性
@Controller
@RequestMapping("/queue")
public class QueueController {
QueuesService queueService;
public QueueController(QueuesService queueService) {
if (queueService == null) {
throw new IllegalArgumentException("QueueService cannot be null");
}
this.queueService = queueService;
}
}
在我的情況下,配置文件中的相應條目如下(其中bean定義沒有任何 「id」 屬性):現在
<bean class="com.xy.web.controllers.QueueController">
<constructor-arg ref="queueServiceImpl"></constructor-arg>
</bean>
,在應用程序啓動,春天拋出異常如下:
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.xy.web.controllers.QueueController]: No default constructor found; nested exception is java.lang.NoSuchMethodException: com.xy.web.controllers.QueueController.<init>()
但是,當我將「id」屬性添加到「bean定義」(如下所示)時,它的正確創建。
<bean id="queueController" class="com.xy.web.controllers.QueueController">
<constructor-arg ref="queueServiceImpl"></constructor-arg>
</bean>
對此的任何解釋還是我在這裏丟失的東西?
作爲一個提示,嘗試改變'id'屬性'asdasd'。 –