Spring Controller和实体管理器

时间:2013-02-21 22:10:16

标签: spring hibernate spring-mvc controllers spring-data-jpa

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

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

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

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

1 个答案:

答案 0 :(得分:3)

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

但是,我建议您避免在控制器中直接使用DAO。这不一定是不好的做法,但你会发现你的控制器很快就会充满业务逻辑(类型转换,数据操作等),这在其他地方更好地处理。这到底在哪里呢?那么,您可以构建一个服务层来弥补您的DAO和控制器之间的差距。这样,您的服务层可以处理数据操作和其他业务逻辑,而您的控制器可能只是担心从服务层获取和提供数据。希望这会有所帮助。

相关问题