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);

もちろん、RmiProxyFactoryBeanではなく、「MyService」implのインスタンスを返します。

では、RmiProxyFactoryBeanを手動でインスタンス化せずに、上記のxml定義を使用して「serviceUrl」パラメーターを変更するにはどうすればよいですか?

4

1 に答える 1

2

FactoryBeanファクトリによって作成された Bean の代わりにインスタンスを取得するには、 BeanFactory.FACTORY_BEAN_PREFIX. すなわち

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

于 2012-05-08T20:55:40.843 に答える