4

我有一个这样的bean定义:

    <bean id="myService" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
    <property name="serviceInterface" value="org.myapp.MyService"/>
    <property name="serviceUrl" value="rmi://localhost:1099/myService"/>
</bean>

我以这种方式检索服务 bean:

    ApplicationContext context = new ClassPathXmlApplicationContext("classpath:rmi-client-config.xml");
    MyService myService = context.getBean("myService", MyService.class);

当然,它返回一个“MyService”实例,而不是 RmiProxyFactoryBean。

那么如何使用上面的 xml 定义而不是手动实例化 RmiProxyFactoryBean 来更改“serviceUrl”参数呢?

4

1 回答 1

2

要获取FactoryBean实例而不是工厂创建的 bean,请使用BeanFactory.FACTORY_BEAN_PREFIX. IE

RmiProxyFactoryBean rpfb = (RmiProxyFactoryBean) contex.getBean("&myService");

于 2012-05-08T20:55:40.843 回答