接口类不可以做bean

本文探讨了Spring框架中如何正确配置DAO接口作为Bean,并解析了抽象Bean的概念及应用。通过实例说明了为什么直接注解DAO接口无法让Spring容器实例化,以及如何通过配置抽象Bean来解决这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注解一个DAO类作为一个bean,即使有实现类,容器并不能创建该接口的作为Bean.
bean类需要一个无参构造方法,显然接口是没有的.
注解传入的只是一个接口,其实现类容器开始是不能获知的.所以,不能想当然地觉得容器能用实现类的构造方法.

在spring-mvc.xml文件中,声明一个接口

<bean id="userDao" class="com.loop.dao.UserDao" abstract="true"/> //需要声明这是个抽象类.
Is this bean "abstract", that is, not meant to be instantiated itself but rather just serving as parent for concrete child bean definitions?
The default is "false". Specify "true" to tell the bean factory to not try to instantiate that particular bean in any case.

可以看到,abstract 为true的类只是作为其他bean的父类.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值