所以我使用 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/