Spring DI:使用aop代理为继承类创建会话vise对象

时间:2013-07-17 14:34:10

标签: spring struts2

在我的项目中,我使用了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。现在它为EshopDefaultActionIndexAction创建了不同的对象。

<aop:scoped-proxy />添加到EshopDefaultAction bean定义会产生类似

的错误
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?

0 个答案:

没有答案