我正在使用getBean(beanName,new Object{"anupama"})
来覆盖我的spring bean中使用的构造函数值静态工厂方法。但它仍然会选择spring-application.xml
中提到的默认值,而不是从getBean()
中提取它。
代码:
<beans
xmlns="springframework.org/schema/beans"
xmlns:xsi="w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="springframework.org/schema/beans springframework.org/schema/beans/spring-beans-2.5.xsd"
default-lazy-init="false">
<bean id="oneServiceImplementation"
class="sample.oneServiceImplementation"
factory-method="getInstance"
scope="prototype">
<constructor-arg value="anu"/>
</bean>
</beans>
在我班上:
Object returnObj = reference.getFactory().getBean("oneServiceImplementation",
new Object{"anupama"} );
上面的调用应该将参数anupama传递给getInstance(String)方法,但是我在getInstance(String)方法中得到了默认的“anu”。
答案 0 :(得分:0)
我认为这甚至没有编译:
new Object{"anupama"}
如果oneServiceImplementation.getInstance需要一个String,那么你应该提供一个:
Object returnObj = reference.getFactory().getBean("oneServiceImplementation","anupama" );