我在一家刚接触java的公司工作,我是唯一的java程序员,我需要在几个月内写大约10个系统。这家公司还有另外两个懂基本java的程序员。而不是Spring或类似的东西。
我使用Spring、hibernate和MySQL制作了许多原型。SA正在催促我们使用EJB(我们刚刚得到了JBoss)。所以现在经理正在考虑让我把DAO和Hibernate层转移到EJB中。
因此,我们将使用Spring作为MVC (web),然后让它为所有数据访问创建EJB类,这样Jr程序员就不必知道如何访问MySQL和AS/400。
所以对于我的问题。我想知道我是否可以在EJB中使用Spring。像JDBCTemplate加上Hibernate这样的东西。我正在尝试的是将DAO层直接移动到EJB中。
这可以做到吗?如果是这样,应该这样做吗?
发布于 2013-01-04 22:17:35
您可以在EJB中使用Spring,但它相当复杂,并且不会带来单独使用spring的好处。我不建议这样做。
发布于 2013-01-04 23:07:27
作为一种轻量级容器,Spring通常被认为是EJB的替代品。我们确实认为,对于许多(如果不是大多数)应用程序和用例,Spring作为一个容器,与其在事务、ORM和JDBC访问领域的丰富支持功能相结合,是比通过EJB容器和EJB实现等效功能更好的选择。
但是,重要的是要注意,使用Spring并不会阻止您使用EJB。事实上,Spring使访问EJB和实现EJB以及其中的功能变得更加容易。此外,使用Spring访问EJB提供的服务允许这些服务的实现在以后透明地在本地EJB、远程EJB或POJO (普通旧式Java对象)变体之间切换,而不必更改客户端代码。
链接如下:
http://static.springsource.org/spring/docs/2.5.4/reference/ejb.html
发布于 2013-01-04 22:44:59
是的,这是可以做到的。看一下处理EJBS的Spring Framework Documentation的Chapter 22。您甚至可以使用@EJB annotations in your Spring POJOS和@Autowired annotations in your EJB layer。
程序员倾向于告诉你,每次你把Spring和EJB混合在一起,粉色海豚就死了……嗯,我已经做过很多次了,他们还活着。
https://stackoverflow.com/questions/14158759
复制相似问题