특정 Java bean을 사용하여 외부 목록에서 테스트 케이스를 작성하려고합니다. 자바 도구 (스프링 프레임 워크 또는 유사)를 찾아이 빈을 인스턴스화하고 외부 목록의 값으로 채 웁니다 (루프를 수행 할 예정). (어떤 종류의 콩 주입) 이 직업을 구하는 도구를 알고 있습니까?java bean injection
덕분에, 호세 크루즈
특정 Java bean을 사용하여 외부 목록에서 테스트 케이스를 작성하려고합니다. 자바 도구 (스프링 프레임 워크 또는 유사)를 찾아이 빈을 인스턴스화하고 외부 목록의 값으로 채 웁니다 (루프를 수행 할 예정). (어떤 종류의 콩 주입) 이 직업을 구하는 도구를 알고 있습니까?java bean injection
덕분에, 호세 크루즈
나는 큰 봄 팬이에요,하지만 난 봄이 경우에 당신은 많은 좋은 일을 할 것이라고 생각하지 않습니다. 나는 테스트 빈을 만든 후 반복하여 테스트 빈을 만든다.
나는 봄의 팬이 아니다. Guice 또는 Dependency Injection을위한 용접으로 이동하십시오.
귀하의 경우 Commons BeanUtils를 사용하는 것이 훨씬 쉬워 진 것 같습니다. 그들은 에 메소드를 다음 서명으로 채우고 List 대신 Map을 사용합니다.
public static void populate(Object bean,
Map properties)
throws IllegalAccessException,
InvocationTargetException
는 기본적으로, 어떤이 모든 프레임 워크가 내부적으로 사용하는 것은 BeanInfo/Introspector 메커니즘입니다. 따라서 스스로 할 필요가 없다면이 메커니즘을 직접 사용할 수 있습니다.
유사한 솔루션을 내이 이전 답변을 참조하십시오 :
How to set the fields of an object given a map of key/values?
그러나 봄과 물론 이런 종류의 당신이 the BeanWrapper
technology를 사용하는 경우 특히, 훨씬 더 편안 (물론 거의 동일한 않는 내부적으로 더 멋지고 확장 가능한 방식으로).
물론 첫 번째 단락 (Spring rülez)에는 -1을 주어야합니다 .-)하지만 여기 BeanUtils 솔루션에 +1이 있습니다. –
@Sean SpingSource의 라이선스 모델 [수익 모델 읽기]가 변경된 방식은 매우 성가신 일입니다. 두 번째 컨벤션 이상의 컨벤션은 항상 수상했습니다. 대부분의 기능은 Java EE 6에서 쉽게 사용할 수 있으며 쉽게 구현할 수 있습니다. 그런 다음 다른 이유는 무엇입니까? 마지막으로,하지만 최소한으로, 왜 그렇게 간단한 프레임 워크를 사용해야합니까? :) –
나는 마지막 부분에 동의한다. BeanWrapper는 BeanUtils와 같은 독립형 기술이어야한다. 그러나 Spring의 핵심은 Java EE가 필요 없다는 것입니다. 서블릿 컨테이너 또는 독립 실행 형 응용 프로그램에서도 모든 기능을 사용할 수 있습니다. –