我刚刚开始掌握 Java EE。我知道向一个类添加@Stateful
或@Stateless
注释会使它成为一个 EJB bean。但是,一旦我这样做,后台实际发生了什么?我在 Wikipedia 上看到以下与 EJB 相关的内容。
- 事务处理
- 与 Java Persistence API (JPA) 提供的持久性服务集成
- 并发控制
- 使用 Java 消息服务和 Java EE 连接器架构的事件
- 异步方法调用
- 当我将一个类标记为 EJB 时,上面列出的项目是否会在后台得到“处理”?一旦我将一个类设为 EJB,就会遵循一个完全不同的代码路径,它会遍历上述每一个,这是发生了什么吗?
- 我看到使用 CDI 我可以选择注入 EJB bean,而不是 CDI bean。在这种情况下,我是否应该始终使用 EJB bean 而不是 CDI bean,因为 EJB bean 比 CDI bean 更强大?