NullPointerException для атрибута @Autowired с сервисом Джерси и Spring для REST
Мы разрабатывали приложение gwt, в котором должна быть служба отдыха для доступа к базе данных, как к своей собственной базе данных, так и к другим удаленным. Я использую Spring для лучшей работы с базой данных (objectdb), а не тренировался с Джерси. Вот's код, вызывающий проблему:
User.java
@Entity
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
@XmlRootElement
public class User implements java.io.Serializable {
private static final long serialVersionUID = 1L;
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
private long id;
private String name;
private String surname;
private int age;
...
}
Customer.java
@Entity
@XmlRootElement
public class Customer extends User implements java.io.Serializable{
private static final long serialVersionUID = 1L;
@Column(unique=true)
private String fiscalCode;
@Column(unique=true)
private String docNumber;
...
}
CustomerDAO.java
@Repository("customerDAO")
public class CustomerDAO extends JpaDAO {
...
}
JpaDAO.java
public abstract class JpaDAO {
protected Class entityClass;
@PersistenceContext(unitName = "MyPersistenceUnit")
protected EntityManager em;
@SuppressWarnings("unchecked")
public JpaDAO() {
ParameterizedType genericSuperclass = (ParameterizedType) getClass().getGenericSuperclass();
this.entityClass = (Class) genericSuperclass.getActualTypeArguments()[0];
}
public List findAll() {
TypedQuery q = em.createQuery(
"SELECT h FROM " + entityClass.getName() + " h", entityClass);
return q.getResultList();
}
и, наконец, CustomerServiceImpl.java
@Service("customerService")
@Path("/customers")
public class CustomerServiceImpl implements CustomerService {
@Autowired
private CustomerDAO customerDAO;
@Override
@GET
@Produces({MediaType.APPLICATION_XML})
public List findAll() {
return customerDAO.findAll();
}
}
web.xml правильно написан. Когда я выполняю
http://127.0.0.1/rest/customers
Кажется, что customerDAO является нулем, и это вызывает это исключение ...
вы можете помочь?
вот web.xml
RONF.html
org.springframework.web.context.ContextLoaderListener
springGwtRemoteServiceServlet
org.spring4gwt.server.SpringGwtRemoteServiceServlet
springGwtRemoteServiceServlet
/ronf/ronfServices/*
Jersey
com.sun.jersey.spi.container.servlet.ServletContainer
com.sun.jersey.config.property.packages
it.unibo.ronf.server.services
1
Jersey
/rest/*
com.sun.jersey.contribs
jersey-spring
${jersey.version}
а вот applicationContext.xml