저는 프록시가 아닌 스프링에서 클래스를 가져 오는 것에 관심이 있습니다.스프링에서 프록시 된 인스턴스를 검색하십시오.
예 :
public class FooImpl<KittyKat> {
@Transactional
public void doStuff() {
getBar();
// java.lang.ClassCastException: $Proxy26 cannot be cast to
// com.my.foo.Bar
}
}
public abstract class AbstractFoo<T extends AbstractBar> {
public String barBeanName;
protected T getBar() {
// java.lang.ClassCastException: $Proxy26 cannot be cast to
// com.my.foo.Bar
return (T)appContext.getBean(barBeanName);
}
}
public class KittyCat extends AbstractBar {
...
}
public abstract class AbstractBar {
...
}
음, 제 예제의 일반성이 사라져서 분명히 편집 할 수 없다는 것을 알지 못합니다. –
거기에 고정되어 있습니다. – skaffman
왜 스프링 구성을 보여 주시겠습니까? barBeanName이 어떻게 생성되는지는 알 수 없습니다. ApplicationContext.getBean()의 사용은 코드에서 나쁜 냄새입니다. 의존성은 주입을 통해 이루어져야합니다. – SteveD