java - 新的 intellij/maven Web 应用程序,关于服务、dao、公共(public)库等分离模块的建议

标签 java hibernate maven spring-mvc intellij-idea

所以我使用 intelliJ 11 创建了一个新的基于 maven pom 的 web 应用程序。

现在我想分离出应用程序的各个层,所以我目前有:

/myproj
/myproj-common (maven module)
/myproj-services (maven module)
/src/main/webapp  (spring mvc application)

所以我使用以下内容:

spring mvc
hibernate

因此,我将为每个实体创建 Dao,然后创建一个服务层,该服务层将使用 Dao 并包装其他业务逻辑等。

我应该如何正确设置我的 Maven 模块而不使其变得太复杂?

我应该创建一个单独的接口(interface)模块以供其他模块使用吗?

寻找一些实用的建议。

我也使用 Maven 来构建它。

我之前尝试过这一点,并将事物移动到单独的模块中不会有点棘手,因此寻找一些有关如何执行此操作的指导。

更新

我是否也应该为我的实体拥有一个单独的模块?

最佳答案

最简单的方法是仅使用一个 Maven 模块并在包级别进行分离。

如果您需要更多,我可以推荐此设置:

myproj-services - 实体类、服务接口(interface) myproj-services-impl - 实现 dao 和服务 myproj-ui - 你的 spring mvc 类

Ui 仅依赖于服务,而 services-impl 仅依赖于服务。

关于java - 新的 intellij/maven Web 应用程序,关于服务、dao、公共(public)库等分离模块的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9866236/

相关文章:

hibernate - 使用 Hibernate Criteria api 检索嵌入式或组件

java - 如何从 spring application.yml 设置 "max_allowed_packet"属性

java - Spring Data JPA - 如何使用组合键插入子实体?

java - 未找到 H2 数据库的 hibernate 表

java - stub 在多线程 gRPC 客户端的 channel 上使用单个连接吗?

java - 无法使用 HttpClient 读取浏览器 cookie

java - 解析斯坦福依赖关系

java - 使用 groovy AST Transform 修改 java

java - eclipse 提示 getSystemCpuLoad 方法在 Java 8 的 OperatingSystemMXBean 中不可用?

java - 通过 POM 项目编译 EJB 模块时未生成实体元模型类