Java Reflection을 사용하여 다른 유형의 객체를 초기화하고 있습니다. 이 모든 객체는 같은 방식으로 구성됩니다 (즉, 같은 값으로 전달됩니다). 나는 공장을 가지고 클래스를 필요로하는 인터페이스를 정의 할 수 없습니다클래스가 삽입 가능한지 확인하는 방법
if (Foo.class.isAssignableFrom(field.getType())
return new Foo(values);
else if (Bar.class.isAssignableFrom(field.getType())
return new Bar(values);
else if...//Continue over and over
:
따라서, 내 인젝터는 각 필드를 통해보고, 다음과 같이 긴 경우/다른 문을 수행 왜냐하면 공장은 본질적으로 정적이기 때문입니다. 추상 클래스를 확장하는 경우에도 마찬가지입니다.
인가가/else 문이 너무 내 주입 클래스는이 같은values
?
스프링 소스 코드를 보았습니까? 이것은 기존의 오픈 소스 프로젝트에서 이미 해결 된 문제이며 코드를 포크하고 다시 사용할 수 있습니다. – mttdbrd
예, 실제로 스프링을 사용합니다. 나는이 상황에서 그것을 사용할 생각조차하지 못했다. 이것은 내가 실제로 찾고있는 것입니다. 답변 게시 및 동의 함 @mttdbrd –
좋아요! 고맙습니다. – mttdbrd