How to do Spring Lookup Method Injection with Annotations?
dependency-injection, spring, spring-annotations
Solution
It is possible to use `javax.inject.Provider`. All thanks go to Phil Webb.
public class MySingleton {
@Autowired
private Provider<MyPrototype> myPrototype;
public void operation() {
MyPrototype instance = myPrototype.get();
// do something with the instance
}
}
Problem
Is there any way to use Lookup Method Injection using annotations? Given the following class: ``` @Service public abstract class A { protected abstract createB(); } ``` In order to get it to work I have to declare in spring applicationContext.xml the following: ``` <bean id="b" class="com.xyz.B"> </bean> <bean id="a" class="com.xyz.A"> <lookup-method name="createB" bean="b"/> </bean> ``` Even though I am using `<context:component-scan base>` I have to declare it also in the XML. Not a good approach I think. How to do it with annotations?