我知道有两种方法可以获取 EJB 实例:
使用这两种方法有什么区别、影响和陷阱?他们是一样的吗?依赖注入(inject)比查找更快吗?事务处理和对象生命周期管理呢?
我所知道的事情包括:
注解
抬头
最佳答案
两者都达到相同的结果。更重要的是联轴器 .使用注解,您可以实现松散耦合,并且更容易模拟和测试。通过直接查找,您依赖于有时可能不方便的初始上下文。
恕我直言 查找在任何地方都不起作用 .例如,在 Glassfish 中,从 POJO 在本地 EJB 上的查找只有在之前使用 @EJBs(...)
“导入”时才有效。在使用 POJO 的 session bean 之一上。见 this discussion .您需要了解 之间的区别本地 和 全局为此,JNDI。
我的建议是:尽可能多地使用注释。如果 POJO 需要对 EJB 的引用,请将其作为参数传递(例如在构造函数中)。这称为依赖倒置,无论如何都是一种很好的做法。
关于java - EJB3 - 通过注入(inject)与查找获取 bean - 有什么区别、含义和问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2085679/