
在struts2中,一个action调用多个servlce好,还是调用一个集成的servlce好呢!
1个回答
展开全部
不管在struts1还是struts2,都应该是尽量调用一个service,设计业务逻辑组件时你应该对外提供一个完整的服务,比如要注册一个用户,外对应该只提供一个方法,那么验证你注册用户是否存在的逻辑应该在这个服务中去判断,而不应该你在action中先去调用判断用户是否存在的服务,不存在再去调用注册的服务。
另一种情况就是要看你的事务从哪里开启,一般从业务逻辑层开启事务是最合理的,所以你的action如果要调用多个service,很难保证在一个事务中。
另一种情况就是要看你的事务从哪里开启,一般从业务逻辑层开启事务是最合理的,所以你的action如果要调用多个service,很难保证在一个事务中。
追问
因为我是想调用两张数据表的内容的,两张表最好是不是也对应两个model,而每个model又对应每个service,所以才会有两个service了,请问在这些方面应该怎么分配,这种情况最好是几个model,几个service,几个action最好!麻烦你了!谢谢!
追答
这个问题不要从数据库看,你要从前台业务来看,虽然后台是2个数据库表,但如果完成的是一个功能,那么你需要的就是一个action,一个service,2个dao,2个model
你缺少了dao这个数据访问层,所以导致要在action调多次sevice,其实这个操作应该由service完成,由service调用多个dao协作完成一个业务功能。
action:只负责前台展现的跳转控制。
service:负责业务逻辑的实现。
dao:负责数据库访问层的实现。
三个层次的依赖关系:
action依赖service,service依赖dao,不要用action调用dao。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询