Is it possible from Spring to inject the result of calling a method on a ref bean?
Posted
by Alex Worden
on Stack Overflow
See other posts from Stack Overflow
or by Alex Worden
Published on 2010-03-26T01:52:41Z
Indexed on
2010/03/26
2:03 UTC
Read the original article
Hit count: 314
spring
Hi,
Is it possible from Spring to inject the result of calling a method on a ref bean?
I'm trying to refactor some cut/pasted code from two separate projects into a common class. In one of the projects, the code lives in a class I'll call "MyClient" that is being instantiated from Spring. It is injected with another spring-instantiated class "MyRegistry", then the MyClient class uses that class to look up an endpoint. All I really need is the endpoint String in my refactored class, which can be initialized via a Setter. I really cannot have a dependency on MyRegistry from MyClient in the refactored code.
So, my question is this... is there a way I can inject the endpoint String from spring that was looked up in the MyRegistry class. So, I currently have:
<bean id="registryService" class="foo.MyRegistry">
...properties set etc...
</bean>
<bean id="MyClient" class="foo.MyClient">
<property name="registry" ref="registryService"/>
</bean>
But I'd like to have (and I know this is imaginary Spring syntax)
<bean id="MyClient" class="foo.MyClient">
<property name="endPoint" value="registryService.getEndPoint('bar')"/>
</bean>
where MyRegistry will have a method getEndPoint(Stirng endPointName)
Hope that makes sense from a the standpoint of what I'm trying to achieve. Please let me know if something like this is possible in Spring!
© Stack Overflow or respective owner