即使把一个对象的scope设置成prototype了,但如果它被注入到一个单例对象中,依然每次拿到的是同一个对象。此时,可以用@Lookup注解来达到目的。

@Component
public abstract class ClassB{
    @Lookup
    public abstract ClassA getClassA();
    public void method(){
        ClassA classA = getClassA();
        System.out.println("The hashcode is " + classA.hashCode());
    }
}