浏览 1721 次
锁定老帖子 主题:关于spring对象使用的讨论
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-04-15
前提,系统分为service和dao两层,使用spring管理所有对象,dao一般是通过配置文件注入到service中,service中也可以直接从spring容器中获取任何对象。 如果在一个servic中要实现一个复杂的业务,这个业务分为两部分操作,其中第一部分是一个整体的事务,第二部分是一个直接的对dao的调用,并且第二部分在其他service中已经实现。 举例:有一个部门操作的service,其中一个操作为删除部门和该部门下的所有人。这个业务就分为两部分,第一部分是删除人员,该部分在一个人员管理的service中有实现接口,实现方式删除人员的同时删除人员的权限并备份人员信息;第二部分是调用dao直接删除部门。 我们争论的焦点在于,在部门Service里删除部门的方法中第一部分是应该调用人员Service中已经实现的接口,还是应该去注入人员dao,自己实现删除人员的每一步操作。 希望大家能积极参与讨论!!! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-04-15
能复用的话,当然是调用Service
|
|
返回顶楼 | |
发表时间:2011-04-15
看方法的难以程序吧,如果直接调用service的花,数据库方面的开销是否相对大一点?
事物处理的整个过程是否会出现问题? 这个是需要考虑的! 如果你这个动作是想确保事务没有问题的话,还是建议使用dao去实现! 基本没遇到过这样的问题,复用 和 事务的完整 应该考虑下。 另外 在一个事务中,提交一个事务。会不会影响当前事务的提交? 这个也是个疑问! 如果想复用,而这2个动作又没有事务要求的话。建议在col层复用! |
|
返回顶楼 | |
发表时间:2011-04-15
1,可以把一些公用的操作逻辑(例如你的删除部门和部门内人员)提取出来放和service同层,例如叫CommonService,在其他service中使用commonService中的同一个操作。
2,也可以把这些公用的函数写在抽象类中,你那些Service继承这个类。 |
|
返回顶楼 | |
发表时间:2011-04-15
15210494746 写道 看方法的难以程序吧,如果直接调用service的花,数据库方面的开销是否相对大一点?
事物处理的整个过程是否会出现问题? 这个是需要考虑的! 如果你这个动作是想确保事务没有问题的话,还是建议使用dao去实现! 基本没遇到过这样的问题,复用 和 事务的完整 应该考虑下。 另外 在一个事务中,提交一个事务。会不会影响当前事务的提交? 这个也是个疑问! 如果想复用,而这2个动作又没有事务要求的话。建议在col层复用! 赞成,这肯定要根据你实际的实现上考虑能不能服复用的了,单纯的说选择哪一个好,还真不好说,当然写自己手动实现dao肯定没有问题,毕竟这dao的实现是你能控制的,人员service,人员dao...看的蛋痛.. |
|
返回顶楼 | |