Z tego, co mogę znaleźć online, stan wiedzy na temat integracji Guice + Jersey ustabilizował się od 2008 roku, kiedy wydaje się, że obie drużyny osiągnęły impas. Sedno problemu polega na tym, że adnotacje JAX-RS wykonują iniekcje polowe i metody, co nie jest miłe z wtryskiem zależności od Guice.Praktyczne porady dotyczące używania Jersey i Guice do usług RESTful
Kilka przykładów, które znalazłem nie idą wystarczająco daleko, aby wyjaśnić:
po Iqbalyusuf w sprawie Jersey + Guice on Google App Engine Java cierpi z powodu wielu boilerplate (ręcznie i wywołując coraz wtryskiwacz). Chcę wiązać i wtryskiwać się za kulisami za pomocą adnotacji Guice.
Artykuł Jonathan Curran o numerze Creating a RESTful service with Jersey, Guice, and JSR-250 dał mi nadzieję, ponieważ jest dużo bardziej aktualny (2010), ale poszedł dalej niż pokazanie, jak uruchomić usługę Jersey w Guice ServletModule. Jednak nie ma przykładów wykonania żadnego zastrzyku prawdziwej zależności. Przypuszczam, że zostało to jako ćwiczenie dla czytelnika. Stanowisko Currana może być właściwie właściwym pierwszym krokiem w kierunku połączenia Guice i Jersey, więc planuję zacząć od tego.
tantalizingly James Strachan writes:
JAX-RS działa dobrze z ram iniekcji zależność takich jak Spring, Guice, GuiceyFruit lub JBossMC - ty można wybrać w zależności od tego w zasadzie jeden ty wolą.
Ale nie widzę dowodów, które są prawdziwe z punktu widzenia praktyka.
Brakuje mi praktycznych przykładów i wyjaśnień, jak łączyć adnotacje JAX-RS i Guice. Na przykład:
- wierzę, nie mogę użyć konstruktora wtrysku z dowolnego zasobu jako Jersey chce kontrolować ten
- jestem pewien, czy mogę połączyć @Inject z @PathParam, @QueryParam, et al.
- Jak korzystać zastrzyk w realizacji MessageBodyWriter
Czy ktoś ma przykłady, najlepiej ze źródła, z niebanalną aplikacji, która łączy Jersey i Guice bez poświęcania jednego lub drugiego w tym procesie? Nieustannie śledzę tę drogę, ale fragmenty na listach Jersey i Guice sprawiają, że myślę, że powtarzam pracę innych, którzy byli przede mną.
Nie mogę wymyślić żadnego zastosowania do połączenia adnotacji "@Inject z @PathParam, @QueryParam". Czy możesz podać jeden? – Jonas