jakarta ee如何设置Java EE6应用程序结构
因此,在阅读了DDD及其所有好处和荣耀之后,JavaEE似乎并没有让您轻松地做到这一点。我想做一个这样的结构:
域
存储库
应用程序
看法
然而,在这个答案的评论中DDD and application layer似乎应用程序层,我认为它将是所有服务都用@Stateful、@WebService等注释的层,而不是它真正应该位于的位置。看起来域模型应该有这些注释
所以现在的问题是:人们如何构建他们的应用程序?您将不同的注释放在哪里,以及它们如何相互使用。有人能帮我理解如何构造JavaEE6Web应用程序吗?请提供帮助,不要说我是如何在一个特定的工具或类似的东西中实现它的,而是说实际的类去了哪里,以及不同的层打算做什么
我对从哪里开始以及如何组织感到沮丧
# 1 楼答案
下面是一个可能有用的示例->EAR Testing
它被称为“耳朵测试”,但也可以很容易地应用于构建战争文件。为了回答这个问题,我将把示例中提到的
eartesting
目录更改为wartesting
EAR文件和WAR文件几乎相同,因为在JavaEE规范级别,我们决定允许
war
文件包含EJB、CDIBean等该示例使用Maven构建系统,有两个模块,一个用于“数据对象”,另一个用于“业务逻辑”。似乎符合你的想法,可能是一个有用的起点。它包含一个带有EJB单元测试的小样本应用程序
您可能还没有读过,但人们通常认为EJB很难测试。现在已经没有了,这个例子展示了最新的符合规范的解决方案,所以你可以从这个设置开始一石二鸟
其中不包括一个模块,用于创建最终的WAR文件,并在生产中部署。要创建它,只需添加第三个模块
在
busines-war
中,您将有一个pom.xml
如下所示:然后创建以下目录:
我们会说,例如,您将以下文件添加到每个:
一旦构建,您应该在
wartesting/business-war/target/
下获得一个war文件,其中包含:WEB-INF/web.xml
WEB-INF/classes/org/superbiz/Foo.class
WEB-INF/lib/business-model-1.1-SNAPSHOT.jar
index.html
# 2 楼答案
对于如何构造应用程序,没有具体的规则。最好是运用常识,同时观察别人是如何做的
您可以生成weld团队提供的一个简单maven项目,以了解基本Java EE应用程序的结构:
当然,你会在github或java上找到许多其他的例子。网