我已经了解到,如果在Spring上下文中使用EJB,则可以获得与在“纯” EJB3环境中使用EJB相同的所有好处,这是真的吗?我已经用Google搜索,但找不到明确的明确答案。
例如,假设我有一个会话Bean,该会话Bean更新数据库中的某些表,并引发系统异常。在“纯” EJB3环境中,事务将回滚。例如,如果我使用Spring使用@Autowire这个bean,那么Spring是否像EJB3容器一样处理事务处理呢?或者是什么?它可能需要某些特定的配置还是完全“自动”的?
最佳答案
我了解如果我在
春天的环境,我都一样
好处就像我在使用它
“纯” EJB3环境,这是真的吗?
您通常使用POJO + Spring或EJB3。我对您所说的“ Spring中的EJB”的含义感到有些困惑。
POJO + Spring和EJB3现在已经很接近了,并且在声明式事务管理方面具有相同的功能。
我不知道有关安全性的所有细节,但是我想说两种技术也非常相似。
实际上,Spring和EJB3都依赖于其他规范。重要的是:JPA(持久性),JTA(分布式事务),JMS(消息传递),JDBC(数据源)。两种技术堆栈中都提供了对此的良好支持。
两种技术都变得非常灵活,您可以选择使用或不使用什么。因此,您可以在应用程序中使用EJB3。服务器,很轻。或者,您可以将Spring与所有功能完全一样的完整模块一起使用。服务器。
我认为EJB3模型仍然丰富一些,例如远程处理,有状态会话Bean(SFSB),容器管理的事务和扩展的持久性上下文。加上可能的集群支持,具体取决于应用程序。服务器。但是这些是很少使用的高级功能(并且IMO需要专业知识)。
见EJB3 vs Spring