专栏首页Python程序员杂谈Struts2+Spring+Hibernate学习总结——XML才是王道

Struts2+Spring+Hibernate学习总结——XML才是王道

       前面几篇分别总结了Struts、Hibernate、Spring的学习(见《Struts2学习总结以及细枝末节》《Hibernate学习总结》《Spring学习总结》),这次把这几个综合起来总结一下,找一下这些东西各自的职责。不过个人感觉现在的总结还是比较肤浅的,没有实践很难有确切的体会,但学习的路程还是要记录下来的,正所谓:好记性不如烂键盘嘛。

学习路线:


       网上有很多人问关于SSH(Struts+Spring+Hibernate的缩写)的学习顺序,其实在学习之前大概浏览一下SSH各自的内容就知道了,搜索一下Spring会发现有许多关于Spring整合Struts或者是Struts和Hibernate的内容,那么Spring肯定是要最后才学了,而关于Struts和Hibernate方面的内容就比较单纯了,先看哪个都可以,因为他俩注重不同的架构层面。

       我是先学习的Struts2,内容是比较简单,是用起来也比较方便,但是最好你要懂得Servlet的原理,懂得filter原理,这样对于你理解Struts2很有帮助。

       然后学习Hibernate,内容较Struts2稍微复杂一些,主要表现在其中的O/Rmapping上,把握好对象的关系和数据库中表的关系,这个我想如果对数据库表设计方面的内容掌握的比较好的话,这个就不是问题了。还有一个就是关于其原理,要想了解其原理,你需要懂得java反射,这样有助于你理解其实现,关键是可以扩宽你以后在设计DAO层时的思路。

       最后学习的是Spring,单就其内容上来讲使用起来很简单,无外乎就是在使用接口的时候不需要自己去把他实例化成相应的类而已,只需要把为接口添加get和set方法,然后通过注解的方式标明,可以很轻松的使用Spring,不过如果你要了解其原理你至少需要懂得java反射以及读xml文件(通过jdom读取,或者是dom4j),另外你也需要了解设计模式,最起码是工厂方法你要懂(对于注解方式你还需要知道监听器的使用或者是原理)。这样你就可以很好的理解Spring的设计原理了。另外还有一个AOP的概念,也是需要好好揣摩一下的,你需要知道设计模式中的动态代理这一设计模式。

整体总结:


       关于Spring整合Struts和Hibernate也不是那么复杂,虽然一开始接触的时候会觉得云里雾里的,不过有道是“一回生两回熟”,用它个几遍也就知道了。如果只是停留在应用层面上是比较简单的,如果要学习其设计思想那你就要下功夫了。

       对于SSH整体上来总结,就对于常用的MVC架构来说:

l         Struts处于C层,即控制层。控制整个页面的跳转,以及页面同服务器端之间的交互。

l         Hibernate处于M层,即持久化层。主要是实现O/Rmapping这一块,提供给上层以操作数据库的接口。

l         Spring是直接贯穿C层和M层,可以控制其中关于事物部分的逻辑,也可以通过注入方式是这两层中的接口的实现变得灵活。

其实Struts也在V层即视图层起到了作用,其S标签以及Ognl的使用也使得页面的实现变得容易。

XML才是王道:


       其实总结这么多内容,哪一个知识点都离不开XML的支持,所以对应着文章标题中的“XML才是王道”,在网络上也有类似的标题,什么“信XML得永生”之类的字眼,不可否认XML的作用是巨大的。

       从一开始学习Struts就需要设置web.xml中的拦截器,还需要配置struts.xml文件,到hibernate中的hibernate.cfg.xml,最后到beans.xml。所有内容都依赖于xml来实现。

       其实这么说还有一个原因,今天下午研究了一下webservice的发布以及读取调用,发现其中的wsdl也完全是由xml组成。看来以后的学习和工作中xml将成为一道不可或缺的开胃菜呀。 - from the5fire.com

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Windows下安装Scrapy方法及常见安装问题总结——Scrapy安装教程

    这几天,很多朋友在群里问Scrapy安装的问题,其实问题方面都差不多,今天小编给大家整理一下Scrapy的安装教程,希望日后其他的小伙伴在安装的时候不再...

    Python进阶者
  • ROS编程(ETH)2018更新版习题说明(二)

    - ROS包结构 - 使用Eclipse进行集成化编程 - ROS C++客户端库(roscpp) - ROS订阅者和发布者 - ROS参数服务器

    zhangrelay
  • Java SSM框架基础面试题

    作用:Ioc解决对象之间的依赖问题,把所有Bean的依赖关系通过配置文件或注解关联起来,降低了耦合度。

    用户1093975
  • Java XML解析工具 dom4j介绍及使用实例

      dom4j的项目地址:http://sourceforge.net/projects/dom4j/?source=directory

    Ryan-Miao
  • 分布式锁系列--02Redis实现分布式锁

    有一个redis服务实例,在分布式系统中,所有需要获取锁的客户端,都需要访问这个redis实例:

    IT云清
  • ROS专题----pluginlib简明笔记

    $ rosrun pluginlib_tutorials polygon_loader [ INFO] [1489481879.738071797]: Tri...

    zhangrelay
  • ROS Tranform出错简易处理 tf出错现象及解析

    有时候由于urdf以及代码中有些遗漏,可能导致TF出现问题,此文只作为阐明TF重要性的示例,不是解决方案!

    zhangrelay
  • 「小程序JAVA实战」小程序搜索功能(55)

    PS:搜索功能,后台提供url,直接赋值到插件就可以了,通过输入关键字点击搜索,将关键字保存标识传递,关键字传递给index页面,index获取后在根据关键字查...

    IT故事会
  • Hibernate入门遇到的一些问题

    使用Configuration config = new Configuration().configure();读取Hibernate的配置文件,文件的默认名...

    TheOneGIS
  • Log4J使用快速入门

    Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBU...

    TheOneGIS

扫码关注云+社区

领取腾讯云代金券