0

在我的项目中,我使用了 struts2 和 spring。Spring 仅用于 DI。我的所有操作都是由会话创建的,因此通过 spring DI 作为模型 bean。现在我想为我的类使用继承,它将通过基于 aop 的代理生成,它将是每个会话。编码如下。

<bean id="common.EshopDefaultAction" class="com.common.actions.EshopDefaultAction"   scope="session" >
    <property name="site" ref="master.site" />
    <property name="menu" ref="master.menu" />
    <property name="indexDAO" ref="common.indexDAO" />
    <property name="categoryDAO" ref="master.categoryDAO" />
    <property name="productDAO" ref="master.productDAO" />
</bean>

<bean id="common.IndexAction" parent="common.EshopDefaultAction" class="com.common.actions.IndexAction" scope="session">
    <property name="indexInfo" ref="common.indexInfo" />
    <aop:scoped-proxy />
</bean>

这两个动作都有成对的 setter 和 getter。我想拥有由会话为其所有子级创建的站点、菜单、indexDAO、categoryDAO、productDAO 对象,例如上面显示的 IndexAction。现在它为EshopDefaultAction和创建不同的对象IndexAction

添加<aop:scoped-proxy />EshopDefaultActionbean 定义会产生类似的错误

Invalid property 'targetBeanName' of bean class [com.common.actions.IndexAction]: 
Bean property 'targetBeanName' is not writable or has an invalid setter method. 
Does the parameter type of the setter match the return type of the getter?
4

0 回答 0