针对新手的Java EE7和Maven项目-第3部分-定义ejb服务和jpa实体模块
从前面的部分恢复
第1部分
第2部分
我们在第三部分继续介绍,我们已经有一个父pom,并且已经为我们的war模块定义了pom。 在我们的原始设置中,我们定义了我们的应用程序将包含一个ejb jar形式的服务jar。 这是我们的Enterprise Java Bean,特别是Session Bean。 我们还定义了另一个模块(层),它将托管实体Bean(数据库表示Bean),即所谓的域模型。
定义服务(ejb)模块
在父pom文件夹下,我们像使用war模块那样创建了一个新的子文件夹。 在这个文件夹中,我们创建一个pom.xml文件,其中包含以下内容。该文件夹的名称为sample-services。 pom看起来像这样。 最终,现在就差不多了。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>gr.javapapo</groupId><artifactId>sample-parent</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>sample-services</artifactId><name>sample-services</name> <description>EJB service layer</description><packaging>ejb</packaging><build><finalName>${project.artifactId}</finalName></build><dependencies><dependency><groupId>javax</groupId><artifactId>javaee-api</artifactId></dependency></dependencies></project>
记住,我们已经在父 pom的依赖项管理部分中定义了javaee-api jar的版本,并且在插件管理部分中还定义了一个maven插件,它将处理ejb.jar的特定包装。要求。 它是maven-ejb-plugin。 返回到父pom并搜索以上两个点。 由于在父pom中定义了所有这些元素,因此我们的ejb服务pom看起来非常小。 按照惯例,Maven将负责大部分工作。 Maven ejb插件即将启动,因为我们已定义此模块所需的包装为' ejb '。
我们的项目结构如下所示:
定义实体bean(ejb)模块
在父pom文件夹下,我们创建了一个新的子文件夹,就像之前的ejb模块一样。 我们将其命名为sample-domain。 这是我们将遵循JPA2规范对数据库表示Bean(即所谓的实体Bean)进行编码的模块。
pom看起来很简单。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>gr.javapapo</groupId><artifactId>sample-parent</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>sample-domain</artifactId><packaging>ejb</packaging><name>sample-domain</name><description>JPA entities for our project - domain model</description><build><finalName>${project.artifactId}</finalName></build><dependencies><dependency><groupId>javax</groupId><artifactId>javaee-api</artifactId></dependency></dependencies></project>
打包仍然是ejb,因为它将托管EJB类,即所谓的Entity Beans 。
我们需要打包另一件事,因为该模块将“托管”我们的域对象,所以这是一个名为persistence.xml的XML描述符,它定义了应用程序将要连接的数据源。 在Java EE 7中,此文件已大大简化,我们甚至可以跳过数据源的定义,因为已经有一个默认值。 在这里看看。 从打包的角度来看,我们现在更感兴趣的是,您需要做的是,在文件夹src / main / resources下创建一个名为META-INF的新文件夹,并在其中放置persistence.xml文件,如下图所示。
此时persistence.xml的内容无关紧要(我们将重点关注下一篇文章),您可以在此文章的git分支上查找示例。
有关创建文件夹的说明,如果使用IDE(例如Eclipse或IntelliJ)添加Maven模块,则在创建新模块并定义POM后,IDE会自动创建模块应该具有的标准布局文件夹。 Maven约定。 如果您遵循这些文章,并且使用诸如简单文本编辑器之类的简单工具编写代码,则需要自己创建src / main文件夹结构。
这就是本文的全部内容,我们为应用程序添加了2个以上的模块,但是我们仍然缺少将它们全部打包的模块,这是ear模块。 我们还没有讨论模块的“相互依赖性”,这是我们将要完成的工作,在下一个“耳朵”专用文章中,所有这些都将整合在一起。
这些简单poms的代码可以在bitbucket项目中的post3标签下找到 。
翻译自: https://www.javacodegeeks.com/2014/05/java-ee7-and-maven-project-for-newbies-part-3-defining-the-ejb-services-and-jpa-entities-modules.html
针对新手的Java EE7和Maven项目-第3部分-定义ejb服务和jpa实体模块相关推荐
- ejb的maven_针对新手的Java EE7和Maven项目-第3部分-定义ejb服务和jpa实体模块
ejb的maven 从前面的部分恢复 第1部分 第2部分 我们在第三部分继续介绍,我们已经有一个父pom,并且已经为我们的war模块定义了pom. 在我们的原始设置中,我们定义了我们的应用程序将包含一 ...
- 针对新手的Java EE7和Maven项目-第4部分-定义Ear模块
从前面的部分恢复 第1部分 第2部分 第3部分 我们正在恢复第四部分,目前我们的简单项目有 Web Maven模块(战争) 一个ejb模块(ejb),其中包含我们的无状态会话bean(EJB 3.1) ...
- java ee maven_针对新手的Java EE7和Maven项目–第1部分–简单的Maven项目结构–父pom...
java ee maven 为什么呢 很多时候,我在日常工作中试图解决一些基本或复杂的Maven / Java EE项目结构问题. 为了提供解决方案,我经常最终会尝试项目结构,测试我在不同应用程序服务 ...
- 针对新手的Java EE7和Maven项目–第1部分–简单的Maven项目结构–父pom
为什么呢 很多时候,我在日常工作中试图解决一些基本或复杂的Maven / Java EE项目结构问题. 为了提供解决方案,我经常最终会尝试项目结构,测试我在不同应用程序服务器上的部署并细化我的配置. ...
- java ee maven_针对新手的Java EE7和Maven项目–第6部分
java ee maven 从前面的部分恢复 第1 部分 , 第2 部分 , 第3 部分 , 第4 部分 , 第5部分 在上一篇文章(第5部分)中,我们发现了如何使用Arquillian(我们的EJB ...
- java ee maven_针对新手的Java EE7和Maven项目–第5部分–使用Arquillian / Wildfly 8进行单元测试...
java ee maven 从前面的部分恢复 第1 部分 , 第2 部分 , 第3 部分 , 第4部分 , 这是第一篇"额外"文章,基于我在该系列博客文章中"构建&quo ...
- 针对新手的Java EE7和Maven项目–第6部分
从前面的部分恢复 第1 部分 , 第2 部分 , 第3 部分 , 第4 部分 , 第5部分 在上一篇文章(第5部分)中,我们发现了如何使用Arquillian(我们的EJB服务)进行单元测试,并将其部 ...
- 针对新手的Java EE7和Maven项目–第5部分–使用Arquillian / Wildfly 8进行单元测试
从前面的部分恢复 第1 部分 , 第2 部分 , 第3 部分 , 第4部分 , 这是第一篇"额外"的帖子,基于我正在此系列博客文章上"构建"的Maven Jav ...
- java ee maven_针对新手的Java EE7和Maven项目–第8部分
java ee maven 第一部分 , 第2部分 , 第3部分 , 第4部分 , 第5部分 , 第6部分 , 第7部分 第8部分 自上一篇文章以来,这一系列教程已经有很长时间了. 是时候恢复并在我们 ...
最新文章
- python与excel表格-如何用python处理excel表格
- ASPxPopupControl出现前一次弹框页面解决方法
- 信息传递(NOIP2015提高组Day1T2)
- ios 企业证书 ipa 重新签名发布
- x86汇编指令集大全注释(二)
- Nature:新发现挑战神经元作用传统理论 [转自科学网]
- 2020-11-26 采用微软自己的snipaste工具截图
- C# 控制台程序(Console Application )启动后隐藏
- HTML表格的单元格合并
- 1843. 圆形牛棚
- a标签使用方法和跳转方式
- html5均线图源码,通达信导航家之成本均线主图指标 源码(图文)
- train_transformer.py 异常:Assertion `srcIndex < srcSelectDimSize` failed.
- 计算机蓝牙快捷键,笔记本蓝牙快捷键是什么_怎么打开笔记本电脑蓝牙-win7之家...
- 集合之Map家族的TreeMap + Sort +Properties及Collections工具类和总结
- TSP问题解决:模拟退火、贪心法、爬山法,Python实现
- WebP 文件及其编码解码工具(WebPconv)
- 蓝桥杯-第九届决赛——采油
- 算法初体验之欧几里得算法
- 【“工业大数据预测”系列】——第3篇:基于统计和信号的特征提取