我Dao一个接口 3个实现类
<!-- DAO-->
<bean id="userdao" class="com.ssh.dao.impl.UsersImpl">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<!-- BIZ-->
<bean id="userbiz" class="com.ssh.bizImpl.UserbizImpl">
<property name="ud" ref="userdao"></property>
</bean>
<!-- Action -->
<bean id="useraction" class="com.ssh.action.UserAction">
<property name="ub" ref="userbiz"></property>
</bean>
这样不是要写3遍,有没简单的方法
假如你是正常男性,你要结婚一定会是女性,女性好比接口,你妈好比其中的实现类. 你要是连你妈都能结婚的话倒是可以这样. 正常情况下不可以的,所以还得必须需要具体的实现类. 具体的结婚对象一定要明确.
现在的spring是支持自动装配的,使用了自动装配就不需要ref了,但是要注意看使用说明,不是所有的情况都适合
在bean中加入属性autowire
常用的是byName,下面是autowire取值说明
模式 说明
no 不使用自动装配,必须通过ref元素指定依赖,默认设置。
byName 根据属性名自动装配。此选项将检查容器并根据名字查找与
属性完全一致的bean,并将其与属性自动装配。
byType 如果容器中存在一个与指定属性类型相同的bean,那么将与
该属性自动装配;如果存在多个该类型bean,那么抛出异
常,并指出不能使用byType方式进行自动装配;如果没有找
到相匹配的bean,则什么事都不发生,也可以通过设置
dependency-check="objects"让Spring抛出异常。
constructor 与byType方式类似,不同之处在于它应用于构造器参数。如
果容器中没有找到与构造器参数类型一致的bean,那么抛出
异常。
autodetect 通过bean类的自省机制(introspection)来决定是使用
constructor还是byType方式进行自动装配。如果发现默认的
构造器,那么将使用byType方式。
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息