无法实例化bean类:指定的类是一个接口

时间:2014-11-03 19:28:54

标签: spring

我知道有类似这个问题的线程。下面是我的类,我在spring.xml文件中配置它。实际上,HumanResourceService是一个只有一个方法的接口。

@Endpoint
public class HolidayEndpoint {

    @Autowired
    private HumanResourceService humanResourceService;

    @Autowired
    public HolidayEndpoint(HumanResourceService humanResourceService) throws JDOMException {
        this.humanResourceService = humanResourceService;
    }
}

我的问题是,在我的spring.xml文件中,当我将HumanResourceService定义为bean时,它无法实例化,因为这是一个接口。如何在spring配置文件中提及接口。我的spring.xml文件在

下面
<bean id="holidayEndpoint" class="com.mycompany.hr.ws.HolidayEndpoint" autowire="constructor" >
     <property name="humanResourceService" ref="humanResourceService" />
</bean>
<bean id="humanResourceService" class="com.mycompany.hr.service.HumanResourceService" />

1 个答案:

答案 0 :(得分:7)

你不能,Spring需要它可以创建实例的东西,界面是不够的。

在spring.xml中,id =“humanResourceService”的bean的class属性值应该是实现类的名称,而不是接口的名称。 Spring需要你告诉它你希望它用于什么实现类。