组织一个具有许多子应用程序的 Spring-mvc 项目

发布于 2024-10-17 13:25:55 字数 624 浏览 5 评论 0原文

我从 Spring-mvc 中的一个项目开始,它基本上由 3 个部分组成

1) 前端

2) 后端(管理)

3) Web 服务

组织这些部分的最佳方式是什么,以便我可以重用域和 DAO 层尽可能地使用对象,同时将包分开(以避免同一个包中的 FrontendCategoryController 和 BackendCategoryController 等类名)?

另外,为所有这些部分提供通用配置和 pom.xml 文件是个好主意吗?

截至目前,我已经开始使用 maven 根据 webapp 原型生成的项目结构

编辑:

我正在考虑这样做的一种方法是 -

myapp
  -- src
      -- main
           --java
           --resources
      -- backend
           --java
           -- resources
      -- webservice
           -- java 
           -- resources

在所有 java 目录中,包名称将相同

这是一种正确的方法吗

谢谢

I am starting with a project in Spring-mvc which basically is made up of 3 parts

1) Frontend

2) Backend (admin)

3) Web service

What would be best way to organize these parts so that I can reuse the domain and DAO layer objects wherever I can and at the same time keep the packages separate (so as to avoid class names such as FrontendCategoryController and BackendCategoryController in the same package) ?

Also would it be a good idea to have common config and the pom.xml file for all these parts ?

As of now I have started with the project structure generated by maven as per the webapp archetype

Edit:

One way I am thinking of doing this is -

myapp
  -- src
      -- main
           --java
           --resources
      -- backend
           --java
           -- resources
      -- webservice
           -- java 
           -- resources

in all java directories, the package names will be same

Would this be a correct approach

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

画离情绘悲伤 2024-10-24 13:25:55

首先,所描述的滥用 Maven 目录结构的方法看起来非常糟糕。

您说您希望避免长类名,例如 FrontendCategoryControllerBackendCategoryController。您的设计似乎违反了“按功能打包,而不是按层打包” 规则。您可以为子应用程序创建单独的包,这样就不需要长类名。所有子应用程序使用的公共类可以放置在另一个包中。

另一种方法是为不同的子应用程序创建单独的 Maven 项目,但看起来您不想要它。

First of all, depicted approach that misuses Maven directory structure looks really bad.

You say that you want to avoid long class names such as FrontendCategoryController and BackendCategoryController. It looks like your design violates "Package by feature, not layer" rule. You can create separate packages for your subapplications, so that long class names wouldn't be needed. Common classes used by all subapplications can be placed in yet another package.

Alternative approach would be to create separate Maven projects for different subapplications, but it looks like you don't want it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文