zoukankan      html  css  js  c++  java
  • 软件工程实践第二次随笔

    最近的小学期实践一直是跟着老师敲代码,起初都不知道自己做的是什么,后来自己Google了一下,查阅了一些相关的资料,以及结合了最近在做的这个小demo,也算是初步地了解和接触了java主要的三大框架ssh。
    在我们这个写的小demo中,struts文件是作为控制器(作为中间的桥梁),接收前端的请求,对应jsp目录下的custInfo和custSave
    而struts中的class对应的后台服务applicationContext




    比如我们如果要做的是保存操作,那么struts文件中name=”saveCust”对应custSave中的<s:form action=”saveCust”…>,这些是前端的操作,然后到applicationContext中的路径com.crm.action.CustSaveAction去进行操作,new一个service对象,然后service来调用dao,实现对数据库的访问和操作。






    这几天老师也一直强调,Hibernate主要是对象关系映射框架,就是实体实例与数据库记录之间的映射,因此如果做得项目不是很复杂的话,基本上是不需要知道数据库的具体细节了。

    另外service是调用dao,而dao是访问数据库的访问,在我们这个项目中,CustDao是一个接口,写了一些访问数据库的方法,CustDaoImpl是实现了CustDao

    然后在CustServiceImpl中是new了一个CustDao的对象来调用dao的方法。但是后来在网上也查了一些资料,这么写貌似是不规范的,service是业务层,不应该有具体对象,最多是引用,不然就是耦合了。


    自己总结了一下:

    dao(Data Access object)(接口):数据访问对象层,和数据库打交道,和其连接,完成增删查改
    impl :实现了dao接口
    service(接口):业务层。处理业务流程
    service.impl:实现了service接口,service调用dao

    
    

     

    
    

    前端页面的请求,即jsp中的action和struts的name对应。
    请求通过struts控制器和后端也对应起来,其class和applicationContext中的id对应,然后根据后面的路径具体调用相应的xxxxaction,xxxaction其中的service调用dao中的方法。
    而具体实现类CustDaoImpl继承了HibernateDaoSupport(网上的资料写的是这种方法不怎么常用,因为继承会造成耦合度较高),同时又实现了接口dao。

     
     
     

     

  • 相关阅读:
    php Date()函数输出中文年月日时分秒
    jQuery动态添加删除与添加表行代码
    sql随机查询数据语句(NewID(),Rnd,Rand(),random())
    asp.net 逻辑操作符与(&&),或(||),非(!)
    php static 变量的例子
    asp.net C# int 类型在32/64位环境下取值范围无变化
    js保留小数点后N位的方法介绍
    [Java] LinkedHashMap 源码简要分析
    [Java] HashMap 源码简要分析
    [Java] Hashtable 源码简要分析
  • 原文地址:https://www.cnblogs.com/tvtaqa/p/7100833.html
Copyright © 2011-2022 走看看