getting the following error : org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type UserProvider with qualifiers @Default at injection point [BackedAnnotatedField] @Inject dwp.UserServlet.userProvider
while deploying the servlet
following is my servlet class :
package dwp;
import java.io.IOException;
import java.io.PrintWriter;
import javax.inject.Inject;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.User;
import service.UserProvider;
/**
* Servlet implementation class UserServlet
*/
@WebServlet("/UserServlet")
public class UserServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Inject
UserProvider userProvider;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
Long id = Long.valueOf(request.getParameter("id"));
User user = userProvider.findUser(id);
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.print(user);
}
}
UserProvider class :
package service;
import javax.ejb.Stateful;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import model.User;
@Stateful
public class UserProvider {
@PersistenceContext(unitName="jap")
EntityManager em;
public User findUser(Long id) {
return em.find(User.class,id);
}
}
User class :
package model;
import java.io.Serializable;
import javax.persistence.*;
/**
* The persistent class for the USERS database table.
*
*/
@Entity
@Table(name="USERS")
@NamedQuery(name="User.findAll", query="SELECT u FROM User u")
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private long id;
private String password;
private String username;
public User() {
}
public long getId() {
return this.id;
}
public void setId(long id) {
this.id = id;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return this.username;
}
public void setUsername(String username) {
this.username = username;
}
}