2013-02-21 50 views
1

我用许多控制器创建了一个弹簧模板项目。 在我的控制器中,我将连接到我的DAO对象,并且我的DAO将从本地数据库保存/更新/获取休眠对象。弹簧控制器和实体管理器

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

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

你能帮我这个建筑吗? 谢谢

回答

3

当然可以争取任一选项(让他们在同一个项目中或在单独的项目中)。在我的项目中,我倾向于采取务实的态度。如果你的项目足够小,可能不值得把它们放到单独的项目模块中;在这种情况下,只需将它们在包级别分开即可。但是,随着项目规模的扩大,根据其职责和依赖关系来分离组件将非常有用。

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