কোনও পূর্ববর্তী জার্সি 1.x জ্ঞান ছাড়াই স্ক্র্যাচ থেকে শুরু করে, আমার জার্সি ২.০ প্রকল্পে নির্ভরতা ইনজেকশন কীভাবে সেটআপ করতে হবে তা বুঝতে আমার খুব কষ্ট হচ্ছে।
আমি আরও বুঝতে পেরেছি যে এইচকে 2 জার্সি ২.০ এ উপলব্ধ, তবে আমি জার্সি ২.০ ইন্টিগ্রেশনটিতে সহায়তা করে এমন ডকগুলি খুঁজে পাচ্ছি না।
@ManagedBean
@Path("myresource")
public class MyResource {
@Inject
MyService myService;
/**
* Method handling HTTP GET requests. The returned object will be sent
* to the client as "text/plain" media type.
*
* @return String that will be returned as a text/plain response.
*/
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/getit")
public String getIt() {
return "Got it {" + myService + "}";
}
}
@Resource
@ManagedBean
public class MyService {
void serviceCall() {
System.out.print("Service calls");
}
}
pom.xml
<properties>
<jersey.version>2.0-rc1</jersey.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.glassfish.jersey</groupId>
<artifactId>jersey-bom</artifactId>
<version>${jersey.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-common</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jersey</groupId>
<artifactId>jax-rs-ri</artifactId>
</dependency>
</dependencies>
আমি আমার সংস্থান শুরু এবং পরিবেশন করার জন্য ধারকটি পেতে পারি তবে আমি @ মাই সার্ভিসে ইনজেক্ট যুক্ত করার সাথে সাথে ফ্রেমওয়ার্কটি একটি ব্যতিক্রম ছুঁড়ে ফেলেছে:
SEVERE: Servlet.service() for servlet [com.noip.MyApplication] in context with path [/jaxrs] threw exception [A MultiException has 3 exceptions. They are:
1. org.glassfish.hk2.api.UnsatisfiedDependencyException: There was no object available for injection at Injectee(requiredType=MyService,parent=MyResource,qualifiers={}),position=-1,optional=false,self=false,unqualified=null,1039471128)
2. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of com.noip.MyResource errors were found
3. java.lang.IllegalStateException: Unable to perform operation: resolve on com.noip.MyResource
] with root cause
org.glassfish.hk2.api.UnsatisfiedDependencyException: There was no object available for injection at Injectee(requiredType=MyService,parent=MyResource,qualifiers={}),position=-1,optional=false,self=false,unqualified=null,1039471128)
at org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:74)
আমার স্টার্টার প্রকল্পটি গিটহাবটিতে উপলব্ধ: https://github.com / डोোনাল্ডারজমস্ট্রং / জ্যাকার্স