表示层将包含2个Web模块(服务于不同的目的并基于不同的技术),中间层将是没有EJB的Spring bean,而持久层将是Hibernate上的JPA。我想知道在这种情况下最好的项目设置是什么。我打算使用的IDE是MyEclipse 8.5。感谢。
答案 0 :(得分:2)
一个Java项目,用于打包为JAR文件的常见内容。
两个Web项目,每个项目都打包在自己的WAR文件中,接受公共JAR文件作为第三方依赖项。
我需要EAR吗?
如果您使用的是WebLogic,JBOSS,Glassfish,Geronimo或WebSphere等Java EE应用服务器,则可以这样做。如果您使用像Tomcat或Jetty这样的servlet / JSP引擎进行部署,那么EAR将不是一个选项。
或者只是3个独立的项目?
三个项目将具有更松散耦合的优势。您的两个Web应用程序在公共JAR和数据库级别耦合,但从部署的角度来看,您可以将其余部分更改为一个而不会影响另一个。
什么可以放入普通的JAR? 我能想到的是JPA实体, 的DAO。
除了网络层之外所有共享内容。
如果2个WAR试图访问相同的内容怎么办? 数据同时?
这与隔离,表锁定和应用程序的设计有关。