阐述一下你对SSH的理解
我想说一下SSH框架如何搭建,也就是Spring、Struts(Struts2)和Hibernate如何整合在一起。这个也不是我的劳动成果,是我们老师之前做项目是直接发给我们的一个框架,拿出来分享一下,各位顺便提点建议。
新建一个名为config的包,一定要是default-source,和src同级,否则在启动服务器时,它会报错,说找不到spring-service.xml和spring-dao.xml。config包中包含三个配置文件:xxx.xml,spring-dao.xml和spring-service.xml。其中的xxx.xml作用同之前的struts.xml,但为了以后代码维护方便,可以以其他名字命名,如自己的名字。
spring-dao.xml和spring-service.xml写好后要注入到web.xml中,xxx.xml文件要再src下的struts.xml中注入。struts.xml的配置如下:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE struts PUBLIC "Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts2.0-dtd">
三行分别为开启动态方法调用(我也不是很明白)、开启自动由spring管理的action对象和xxx.xml文件的注入。
spring-dao.xml和spring-service.xml在注入web.xml时要写在开头,我也不清楚这是不是规定。
Dao层与数据库的交互可以使用Jdbc或者是Hibernate,我负责的模块中的表有主键,所以采用Hibernate,可以用Spring API中自带的HibernateTemplate,也算是一点集成吧。
在好的框架 再好的技术 最终无非是为了更高的开发效率 统一的管理 更易维护性 软件行业和别的不一样 维护的重要性甚至超过了开发 所以前期开发必须有可拓展性 容易维护性
SSH 无非是一种分层架构的形式 struts中的MVC 合理的分清层次表示层 控制层逻辑层的分清 让开发人员容易整合 有统一的着手点 维护起来比较容易
原理无非就是解析XML文件 把配置里的元素取出 再按事先写好的中央控制器的流程走下去 其实这种思想是种重构的体现 把公共的部分提取出去 人们只注重action部分就好了 其他的框架自身的反射机制会按流程自动执行的
Hibernate做的比较好 在缓存方面有它强大的优势 其原理无非是ORM映射 把对象和表的关系关联起来 这样程序员只对对象操作就可以了 这种面向对象的思维重要的很
Spring最强大 集成N多框架 IOC的思想好的很 其原理也就是反射 掌握框架之后要理解框架 理解设计模式 框架都是人写的 写的不是程序 写的其实是思想。
哈哈,楼主是不是面试被人问了一句这个?
简单的说hibernate解决了数据库持久层代码的编写。struts2以mvc设计模式进行分层开发,易于维护和扩展。spring可以集承hibernate,和struts2 通过依赖注入,能降低各个模板间的耦合,有利于提高项目各个模板间的复用,使系统更加趋近于高内聚,低耦合的要求。三者都是通过发射来实现的,及原理就是23种设计模式,熟悉使用设计模式思想。重要的还是面向对象思想,不然怎么说都是别人的。