dao.save 方法中的 NullPointerException

NullPointerException in dao.save method

我正在学习 Spring 框架并使用 DAO。当我使用 dao.save 方法将新对象保存到数据库时,我得到了 NullPointerException。我怎样才能解决这个问题并正确地 persist/delete/update 对象到数据库?谢谢。

实体Coffee.class:

@Entity
public class Coffee {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    private String coffeeName;

    private Integer costForCup;

    private boolean isDisabled;

    @OneToMany(mappedBy = "coffee")
    private Set<Coffee> coffee;

    public Coffee() {}

    public Coffee(String coffeeName, Integer costForCup, boolean isDisabled) {
        this.coffeeName = coffeeName;
        this.costForCup = costForCup;
        this.isDisabled = isDisabled;
    }
*getters and setters*

咖啡道:

public interface CoffeeDAO {

    public Coffee findById(Long id);

    public List<Coffee> findAll();

    public void createCoffee(Coffee coffee);

}

CoffeeDAOImpl :

public class CoffeeImplementation implements CoffeeDAO {

private HibernateTemplate hibernateTemplate;

public void setSessionFactory(SessionFactory sessionFactory){
    this.hibernateTemplate = new HibernateTemplate(sessionFactory);
}

***
@Override
@Transactional
public void createCoffee(Coffee coffee) {
    hibernateTemplate.save(coffee);
}

}

OrderBean.class :

@ManagedBean
@SessionScoped
public class OrderBean {



     @Autowired
        private CoffeeDAO coffeeDAO; 
public boolean createCoffee(){
            Coffee coffee = new Coffee("Кофе", 4, true);
            System.out.println(coffee.getCoffeeName()+" " + coffee.getCostForCup() + " " + coffee.isDisabled());
            coffeeDAO.createCoffee(coffee);
            return true;
    }

错误日志:

Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    ... 32 more
Caused by: java.lang.NullPointerException
    at javacoff.beans.OrderBean.createCoffee(OrderBean.java:88)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:329)
    at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:342)
    at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
    at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
    at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
    at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
    ... 33 more

在我的托管 bean 中使用 SpringBeanAutowiringSupport 解决我的问题:public class OrderBean extends SpringBeanAutowiringSupport