我创建了一个带有许多控制器的 spring 模板项目。在我的控制器中,我将连接到我的 DAO 对象,并且我的 DAO 将从我的本地数据库中保存/更新/获取休眠对象。
做这个的最好方法是什么?它应该在同一个项目上实现,还是应该有一个项目供我的控制器和另一个代表我的数据库访问?
在此之后,我将开发一个安卓应用程序来调用我的控制器并对数据库进行操作。
你能帮我这个架构吗?谢谢
我创建了一个带有许多控制器的 spring 模板项目。在我的控制器中,我将连接到我的 DAO 对象,并且我的 DAO 将从我的本地数据库中保存/更新/获取休眠对象。
做这个的最好方法是什么?它应该在同一个项目上实现,还是应该有一个项目供我的控制器和另一个代表我的数据库访问?
在此之后,我将开发一个安卓应用程序来调用我的控制器并对数据库进行操作。
你能帮我这个架构吗?谢谢
人们当然可以争论任何一种选择(将它们放在同一个项目或不同的项目中)。在我的项目中,我倾向于采取务实的方法。如果您的项目足够小,则可能不值得将它们放入单独的项目模块中;在这种情况下,只需将它们在包级别分开就足够了。但是,随着项目规模的扩大,根据职责和依赖关系分离组件会很有用。
但是,我建议您避免直接在控制器中使用 DAO。这不一定是不好的做法,但您会发现您的控制器很快就会被业务逻辑(类型转换、数据操作等)淹没,而这些业务逻辑在其他地方处理得更好。这到底在哪里?好吧,您可以构建一个服务层来弥合您的 DAO 和您的控制器之间的差距。这样,您的服务层可以处理数据操作和其他业务逻辑,而您的控制器只需担心从服务层获取和提供数据。希望这可以帮助。