SSH概览

  敲完SSH的第一个项目,了解了线是怎么走的,感觉和三层很像,action、service和dao对应的原来的UI、BLL、DAL,但是当我查了很多关于SSH的资料,发现他的精妙之处都是体现在配置文件中,如何在配置文件中改一小部分就完成了整个系统的脱胎换骨,这才是我们要深入研究的部分,作为一枚小菜鸟,今天就先简单的从宏观的角度来了解一下SSH是什么?

概述

ssh(Struts,Spring,Hibernate) Struts进行流程控制,Spring进行业务流转,Hibernate进行数据库的封装

三个框架的职责:

Struts:作为系统的整体基础架构,负责MVC分离,在Struts框架的模型部分,控制业务跳转,主要负责表示层的显示

Spring:管理Struts和hibernate,帮助service把DAO注入到Service里,把Service注入到Action(IOC和AOP解耦)

Hibernate:对持久层提供支持(数据库封装)

其实SSH不是一个框架,而是由三个框架组合而成,集成的SSH框架的系统从职责上分为四层:

  • 表示层:通过JSP页面实现交互界面,负责接收请求和传送相应(request 和 response),Struts根据配置文件将ActionServlet接收到的Request委派给相应的Action处理。

  • 业务逻辑层:管理服务组件的Spring IoC容器负责向Action提供业务模型(model)组件和该组件的写作对象数据处理(Dao)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性 (业务逻辑、数据访问、合法性校验等工作)

  • 数据持久层:依赖Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,返回结果

  • 域模块层:类似于实体层,对象集合,在不同层中传递数据

各层之间的交互时序图:

SSH概览_第1张图片

自己对三个框架的理解:

struts:是一个MVC框架,可以帮助我们实现请求和视图分离,帮我们把JAVA的代码从jsp页面分离出来,以Action的概念对用户的请求做了封装,通过fitler中转站,在配置文件中找到显示的jsp,反馈给客户端,如果要修改显示的页面,直接通过修改配置文件就好了,提高了系统的可扩展性和灵活性

Spring:他在框架中的作用是管理Struts和Hibernate,把Service注入到Action中,把Dao注入到Service中,他的亮点是IoC(控制反转)和Aop(面向切面),这两点原来师姐也做过技术分享,但是自己的理解不是很深,以后再详细的写博客总结这部分的知识

Hibernate:类似于EF映射,简化了对象数据与数据库之间的交互过程,对数据库进行了简单的封装,只要简单的配置就可以代替JDBC繁琐的代码。使编程更加的面向对象
原来做的第一个关于Hibernate的DEMO: Hibernate第一个例子(一)

总结

看了很多大牛的博客,才知道SSH水还是很深的,就一个小小的知识点,都够研究一下午的,所以说,要学的东西真的太多了,唯有督促自己多思考多实践才是王道~

你可能感兴趣的:(-----,【J2SE】)