2011-10-09 1 views
0

나는 두개의 모듈을 가진 maven 프로젝트를 가지고있다; 하나는 스프링 모듈이고 다른 하나는 gwt 모듈입니다. gwt 모듈은 스프링 모듈에 따라 다릅니다. 그리고 나는 XService 인터페이스와 XServiceImpl 구현을 @Service ("myXServiceImpl")로 주석 된 Spring 빈으로 사용한다.스프링 서비스 인터페이스 및 구현을 gwt로 코딩하는 방법을 줄이십시오?

myXServiceImpl bean의 메소드를 gwt client-side에서 호출하려고합니다. 이 목적을 위해 적절한 gwt 클래스를 작성합니다. XGWTService, XGWTServiceAsync, XGWTServiceImpl 및 XGWTServiceImpl는 @Autowired 의한하는 Xservice (나는 spring4gwt를 사용 XGWTServiceImpl가 @Service ("myXGWTServiceImpl"로 주석 Spring 빈이다))

사실

, 난에만 XGWTServiceAsync를 정의하는 것만 큼 간단 실용적인 솔루션을 원하는 사용하는 @RemoteServiceRelativePath ("spring4gwt/myXServiceImpl")

여분의 3 클래스 (XGWTService, XGWTServiceAsync, XGWTServiceImpl)를 코딩하지 않고 스프링 빈을 호출하는 쉬운 방법이 있는지 궁금합니다. 사전

답변

0

에서

덕분하는 Xservice 인터페이스와 별도의 패키지에서 사용하는 모든 클래스를 넣습니다. XService를 RemoteService로 확장합니다. 그런 다음 해당 클래스를 포함하는 GWT 모듈을 정의 할 수 있습니다. jar 파일과 함께 소스를 패키지화하십시오. 기본 GWT 모듈에서 GWT 모듈을 상속하고 XServiceAsync 인터페이스 만 구현하십시오.

또한 XServiceAsync를 수동으로 구현하지 않아도됩니다. maven GWT 플러그인에는 인터페이스에서 Async 버전을 생성하는 옵션이 있습니다.

이것은 Xservice를 GWT의 RemoteService 인터페이스로 구현하므로 서비스 구현을 GWT jar에 의존하게해야합니다. 그러나 그것이 실행의 방식으로 오지 않기 때문에 우리가 살 수있는 어떤 것입니다.

다른 옵션은 XService를 확장하는 XGwtService 인터페이스를 만드는 것입니다. & RemoteService - 여기에 다른 메소드를 추가하지 마십시오. 서버에서는 XServiceImpl만으로 충분합니다.

+0

gkamal 답변을 주셔서 감사합니다.하지만 인터페이스와 스프링 빈이 인터페이스에 영향을 미치기 때문에 gwt 모듈에 의존 할 필요가 없으므로 이러한 조언은 쉬운 솔루션을 제공하지 않는다고 생각합니다. 사실, @RemoteServiceRelativePath ("spring4gwt/myXServiceImpl")로 주석이 달린 XGWTServiceAsync 만 정의하는 것처럼 간단한 실용적인 솔루션이 필요합니다. – Gok

관련 문제