我知道以下所有Java接口规则:
现在我的问题是我们如何创建接口EntityManager的变量并使用其方法(如下面的给定代码):
import javax.ejb.Stateful;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
@Stateful
public class Movies {
@PersistenceContext(unitName = "movie-unit")
private EntityManager em; // Here declaring a variable of an Interface
public void addMovie(Movie movie) throws Exception {
em.persist(movie); // Here using variable of an Interface to call its method
}
}
请对此进行一些说明,以便使我对这段代码的工作方式更加清楚!
您没有在这里创建任何东西,容器是。您要做的就是声明要注入的依赖项,这就是DI在JavaEE中的工作方式。对正在发生的事情非常简单的看法:
您的Movies
EJB由容器代理
代理对您的类进行自省,并发现您声明的注释以及您在其上声明的字段
容器为EntityManager
代理提供的实例,从而使代理可用于您的实现。
Presto:即时EntityManager
。请注意,您参与该过程的时间很少?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句