service 一般没必要,除非你的程序要处理钱之类的东西。
解决方案 »
- 请教关于后台弹出页面无法遮蔽全屏的问题(artdialog)
- FreeMarker List问题
- 大家看看这样写是什么意思 new Test(){};
- 求高手解答有关输入输出流的问题
- 请问为什么我的web services在myeclipse下部署到tomcat可以导出为war文件后放到tomcat下后程序调用就报错?
- 菜鸟问题 Hibernate中session.get()方法
- 郁闷的错误!配置Weblogic Servers错误
- 用JAVA编写双向连接数据库表,在线等
- 谁知到WebLogic的报价?
- 使用JBuilder8,建立两个Frame,在第一个Frame1的按钮中加入什么程序可以打开Frame2??
- 关于AJAX的表现技术的疑惑
- Servlet中调用getServletName()方法出现错误,请问为什么啊?
刚学SPRING,了解也不是很多。还请指教
本身也是一个容器,只是相对EJB容器而言,Spring显得更为轻便小巧。我们无需付
出其他方面的代价,即可通过Spring实现基于容器的事务管理(本质上来讲,Spring
的事务管理是基于动态AOP)。
摘自《Spring 开发南》在service中调用两个DAO,肯定不是在一个事务中阿,你测试过吗?配置对了吗?
配置没问题的话两个DAO是在一个事务里的。
-------------------------------------------------------------------
有service层的话感觉有个问题,就是事务的问题。假如我要添加一个人员的同时,添加一个新部门到库中,那么直接在DAO层写的话放在一个事务中进行两个添加操作没什么问题,假如我要放在service层中的话要分别调用人员管理的DAO,部门管理的DAO,两个DAO的添加操作在不同的事务中。而如果把这个同时添加人员部门的逻辑写道DAO中的话那么相当于把逻辑写到了DAO层中,那么这个service层就没意义了
-------------------------------------------------
说的有点多,这是我对分层的一些看法,和大家讨论一下,不同的系统因情况不同而论应该采用不同的结构,也不能一概而论哪个就是好,哪个就是不好,只有对于某一个项目而言更加适合的问题.
对于前面说的事务问题,在Sping中进行配置,可以控制事务的范围,在一个DAO或者多个DAO中实现事务管理都是可以的.
com.mycompanyname.mymodulename.dao.impl
com.mycompanyname.mymodulename.model
com.mycompanyname.mymodulename.service
com.mycompanyname.mymodulename.service.impl
com.mycompanyname.mymodulename.webmodel里面放的是MVC中的M
web包里面放一些servlet类,当然你也可以放一些struts的Action类
service里放的是业务层组件,其下的impl包则是实现类
dao里面放和数据库操作有关的接口,其下的impl包则是实现类因我正在开发的模块的业务流程比较复杂,所以,为了以下二个目的,特地划分出了业务层:
1、业务组件代码重用:表现层有多个servlet需要用到同一个业务层组件;
2、让表现层更清晰:表现层的servlet只应该关注于流程的控制,如果把复杂的业务层代码混入表现层,那么必将导致表现层代码凌乱,导致后期的其它开发人员难以维护。
3、将来升级的需要:在将来可以给表现层加上权限控制,给业务层组件加上事务。我认为,只要业务不是很复杂,可以省略掉业务层,直接在MVC的C中调用DAO层代码,但是为了将来的维护等问题,还是建议单独建一层业务层。