菜鸟学完了ssh,对层次架构多少有点了解,在开发过程中也注意到了这一点,但任然不是很清楚。service层是业务逻辑层,主要进行一系列的业务逻辑的处理。
dao层贴近数据库,主要对数据库数据进行一系列的操作。以上两点我的理解,不知对不对。恳求各位大侠不吝赐教。

解决方案 »

  1.   

    对啊。
    粗糙一点说,
    DAO层屏蔽数据库,
    Service层提供业务功能单元,提供事务单元。
      

  2.   

    流转业务流程  通过调用service得到想要的东西并返回
      

  3.   

    看一下MVC   model1 model2 的演化就会更清晰...action 控制流向 应该归到 MVC之中的 Controller 里面去
    service封装业务(Service     ServiceImpl    Spring等反射)
    dao 封装数据库访问(可能是ibatis  可能是hibernate  可能是其他数据库操作技术)V 更多就是的View  比如jsp  jsf 啥的
      

  4.   

    1、dao层主要是数据存用于持久化数据的,一般都会提供增删改查方法,会返回po
    2、service层以业务层,主要是根据根据你当前业务逻辑组装你的代码调用你dao层得增删改查等方法得到你想要的结果(po--->vo),将vo传递到你action,然后到你相应的页面进行结果的显示。其实vo就相当于dto用于传递数据的载体。在service层一般会进行异常的捕获,对事物进行回滚。
    3action 会调用你service层,将结果返回到你需要的视图如jsp。架构图:
    DB(数据库)<---sql\hql-->dao<--po-->service<--vo--异常捕获,事物回滚--->action<---vo--->jsp当然po转换为vo不是绝对的。
      

  5.   

    楼上的都基本都说了。楼的理解也是对的。你如果纵看,站在action层,你只能看到service 而看不到,这样,每层只知道下一层的存在,也利用重用。
      

  6.   


    但是上一层不能侵入前一层的方法 比如在你service不能直接来操作数据库 在action最好不要出现拼写html的代码
      

  7.   

    快去读读领域驱动 ,SSH学出来的都是这些架构,看看怎么用领域驱动来设计,  和你的架构完全不同哦,不过领域驱动在中国还没流行~~