Spring控制器和实体管理器

Spring控制器和实体管理器,spring,hibernate,spring-mvc,controllers,spring-data-jpa,Spring,Hibernate,Spring Mvc,Controllers,Spring Data Jpa,我创建了一个包含许多控制器的spring模板项目。 在我的控制器中,我将连接到我的DAO对象,我的DAO将从本地数据库保存/更新/获取hibernate对象 做这个最好的方法是什么?它应该在同一个项目上实现,还是应该为我的控制器和另一个代表我的数据库访问的项目设置一个项目 在此之后,我将开发一个android应用程序来调用我的控制器并对数据库进行操作 你能帮我看看这个架构吗? 谢谢我们当然可以为这两种选择争论不休(将它们放在同一个项目中或放在不同的项目中)。在我的项目中,我倾向于采取务实的方法。

我创建了一个包含许多控制器的spring模板项目。 在我的控制器中,我将连接到我的DAO对象,我的DAO将从本地数据库保存/更新/获取hibernate对象

做这个最好的方法是什么?它应该在同一个项目上实现,还是应该为我的控制器和另一个代表我的数据库访问的项目设置一个项目

在此之后,我将开发一个android应用程序来调用我的控制器并对数据库进行操作

你能帮我看看这个架构吗?
谢谢

我们当然可以为这两种选择争论不休(将它们放在同一个项目中或放在不同的项目中)。在我的项目中,我倾向于采取务实的方法。如果您的项目足够小,可能不值得将它们放在单独的项目模块中;在这种情况下,只要在包级别将它们分开就足够了。然而,随着项目规模的扩大,根据组件的职责和依赖性分离组件将非常有用

但是,我建议您避免在控制器中直接使用DAO。这并不一定是坏的做法,但您会发现,您的控制器很快就会充斥着业务逻辑(类型转换、数据操作等),这些逻辑在其他地方处理得更好。这到底在哪里?好的,您可以构建一个服务层,在DAO和控制器之间架起桥梁。通过这种方式,您的服务层可以处理数据操作和其他业务逻辑,而您的控制器只需担心从服务层获取和提供数据。希望这有帮助