0

I am trying to integrate Jersey with Spring using maven webapp-archetype. When I get the object form the ApplicationContext I see my code executing, but when I try to use @Autowired it throws me NullPointerException. Following are the code snippets:

applicationContext.xml

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd">

<context:annotation-config />
<context:component-scan base-package="com.pack.resource" />
<bean id="person" class="com.pack.resource.Person">
    <property name="name" value="SomeNamexxxx" />
</bean>

Person.java

package com.pack.resource;

 public class Person {

private String name;

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public Person() {

}

 }

Hello.java

package com.pack.resource;

 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
 import javax.ws.rs.Produces;

 import org.springframework.beans.factory.annotation.Autowired;
 import javax.ws.rs.core.MediaType;
 import org.springframework.stereotype.Component;

 @Component
 @Path("/hello")
 public class Hello {

 @Autowired
 Person person;

@GET
@Produces(MediaType.TEXT_PLAIN)
public String getName() {

    return person.getName();

}

}

But when I use ApplicationContext.getBean("person").getName() it gives me the actual value inside the bean property. Why is @Autowired annotation not working as it should. Kindly help me. TIA!

Harshal Patil
  • 6,659
  • 8
  • 41
  • 57
Jay Martha
  • 91
  • 2
  • 10

0 Answers0