我在单个豆'A'中注入了一个原型豆'B',如下所示。
<bean id="a" class="com.user.processor.A" >
<property name="objectb" ref="b"/>
</bean>
<bean id="b" class="com.user.processor.B" scope="prototype">
<aop:scoped-proxy/>
</bean>
public class A {
private B objectb;
public String process() {
objectb.setX("asdf");
System.out.println("value of x : " objectb.getX() );
}
public void setobjectb(B objectb){
this.objectb = objectb;
}
}
原型bean'B'包含变量和getter&amp;这些变量的setter。
在A的一个方法中,我正在访问B的setter方法来设置变量,在设置后如果我使用getter方法打印该变量,则返回NULL。
每次访问B中的方法时,都会返回B的新对象。
我希望只有在调用bean A时才返回新的B对象..不是为了调用B中的每个方法...我怎么能这样做...
答案 0 :(得分:0)
您在A。的bean定义中使用了不同的属性名称。
如下所示
<bean id="a" class="com.user.processor.A" >
<property name="responseObject" ref="b"/>
</bean>
此处属性名称为responseObject
,但在A类定义中为属性名称
对于B是objectb
,它在xml中的A bean定义中没有任何引用。
所以在xml或A类中更改名称并使它们相同。
如果有任何问题,请告诉我。