I am working on a project with RESTful services. I have modules like web layer, business layer and so on. I added a base api layer (using knitwear) and I get a basic response to receive the request. Now I have to connect it to the business layer. I was googling, but I'm not sure how to implement each solution for my project.
This is my class of travel resources:
@Path("trip") public class TripResource { @Context private UriInfo context; @Inject private AdminService adminService; public TripResource() { } @GET @Produces("text/plain") public List<TripDTO> getText() { return adminService.listAllTrips(); } }
and this I use to add resource classes:
@javax.ws.rs.ApplicationPath("api") public class ApplicationConfig extends Application { @Override public Set<Class<?>> getClasses() { Set<Class<?>> resources = new java.util.HashSet<Class<?>>(); addRestResourceClasses(resources); return resources; } private void addRestResourceClasses(Set<Class<?>> resources) { resources.add(cz.infi.javatravelagency.ServiceResource.class); resources.add(cz.infi.javatravelagency.TripResource.class); } }
My pom.xml:
<name>JavaTravelAgency - Api module</name> <dependencies> <dependency> <groupId>cz.infi</groupId> <artifactId>javatravelagency-business</artifactId> <version>1.0</version> </dependency> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-servlet</artifactId> <version>2.4.1</version> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-moxy</artifactId> <version>2.4.1</version> </dependency> <dependency> <groupId>javax</groupId> <artifactId>javaee-web-api</artifactId> <version>7.0</version> <type>jar</type> </dependency> </dependencies> <build> <plugins> <!-- Java language version --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>6</source> <target>6</target> </configuration> </plugin> <!-- Servlet 3.0 without web.xml --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> </plugins> </build>
I tried to execute the answer in this link . And I added:
public class MyApplicationBinder extends AbstractBinder { @Override protected void configure() { bind(AdminServiceImpl.class).to(AdminService.class); } }
and now I'm stuck.
How to add this binder to my configuration class? What is the easiest implementation without using any other technology?
source share