1、Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。
2、 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。
3、Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。
4、Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。
5、Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大
ssh中 三大框架的各自的作用及好处
SSH三者各自的作用及好处:
Struts
Struts是一个很好的MVC框架,主要技术是Servlet和Jsp。Struts的MVC设计式可以使我们的逻辑变得很清晰,让我们写的程序层次分明。
Spring
spring提供了管理业务对象的一致方法,并鼓励注入对接口编程而不是对类编程的良好习惯,使我们的产品在最大程度上解耦。
Hibernate
Hibernate是用来持久化数据的,提供了完全面向对象的数据库操作。Hibernate对JDBC进行了非常轻量级的封装,它使得与关系型数据库打交道变得非常轻松。
以下是SSH架构图:
扩展资料
Struts负责Web层:
ActionFormBean接收网页中表单提交的数据,然后通过Action进行处理,再Forward到对应的网页,在Struts-config.xml中定义了<action-mapping>,ActionServlet会加载进来。
Spring负责业务层管理,即Service:
Service为Action提供统一的调用接口,封装持久层的DAO,并集成Hibernate,Spring可对JavaBean和事物进行统一管理。
Hibernate负责持久层,完成数据库的CRUD操作:
Hibernate有一组hbm.xml文件和PO,是与数据库中的表相对应的,然后定义DAO,这些是与数据库打交道的类。
在Struts+Spring+Hibernate系统中,对象之间的调用流程如下:
参考资料:
什么是接口,它的主要作用是什么
1 什么是接口
接口是一种用来定义程序的协议,它描述可属于任何类或结构的一组相关行为。
接口是一组规则的集合,它规定了实现本接口的类或接口必须拥有的一组规则。体现了自然界“如果你是……则必须能……”的理念。
接口是在一定粒度视图上同类事物的抽象表示。因为“同类事物”这个概念是相对的,它因为粒度视图不同而不同。
2 为什么要使用接口?而不是直接实现呢?
接口的使用并非总是从设计的角度来考虑。接口和python其他语法现象一样,共同构成了python整个语言体系。
接口的意义在于 抽象、不拘细节,从而使同类事物在同一高度具有通用及可替代性。
关于解耦,并不是接口能解耦,而是抽象能解耦 接口只是手段,如果两个事物有必然联系,那么就不会出现完全解耦,只能耦合转移。
在系统分析和架构中,分清层次和依赖关系,每个层次不是直接向其上层提供服务(即不是直接实例化在上层中),而是通过定义一组接口,仅向上层暴露其接口功能,上层对于下层仅仅是接口依赖,而不依赖具体类。
系统灵活性增强
当下层需要改变时,只要接口及接口功能不变,则上层不用做任何修改。甚至可以在不改动上层代码时将下层整个替换掉,就像我们将一个WD的60G硬盘换成一个希捷的160G的硬盘,计算机其他地方不用做任何改动,而是把原硬盘拔下来、新硬盘插上就行了,因为计算机其他部分不依赖具体硬盘,而只依赖一个IDE接口,只要硬盘实现了这个接口,就可以替换上去。
不同部件或层次的开发人员可以并行开工
就像造硬盘的不用等造CPU的,也不用等造显示器的,只要接口一致,设计合理,完全可以并行进行开发,从而提高效率。
那么具体什么时候用,什么时候不用呢?在常见的三层架构中,有以下几个层次,分别进行说明:
界面层
也就是展示层,直接呈现给用户的,可能不同的软件有不同的呈现方式,比如Web,WinForm,甚至移动APP,在这个层次,我认为是没有必要写太多的接口。
业务逻辑层
这个层次,业务逻辑,可以根据需要使用接口。如果是直接读写数据库什么的,就直接用调用数据库访问层的接口。如果是与多个第三方接口进行交互,那么就需要接口,不同的渠道各自实现。
数据访问层 数据访问层,最好使用接口,比如数据库访问,这种可以根据不同的数据库实现相应的接口向业务逻辑层提供服务。
可能在开发的时候,一开始我们并没有想到要使用接口。可能简单就用一个类实现了。到后面新的需求过来的时候,发现代码需要重构,要用接口和抽象类等等。这个也需要看个人编码的习惯。有的人就长篇大论一个类完成所有的逻辑。这样的开发人员,应该是很少见过好的代码,如果见过的话,后面肯定会精简做到更好。
而另外一些人可能一开始就能嗅出来哪些地方需要使用接口,哪些地方使用抽象类,这也是一种思维方式。前面一种只管开发当前的功能。而后面一种则会考虑到以后的扩展。总而言之,需要根据不同的情况进行考虑。
JAVA的三大框架有什么作用?
三大框架可以帮助我们减少代码冗余,提高运行速度,便于维护,规范编程
struts 主要负责表示层的显示,spring 利用它的IOC和AOP来处理控制业务(负责对数据库的操作),hibernate 主要作用是数据的持久化到数据库
一、Spring
Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 它提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使JavaBean属性的Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。
提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。
Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务,还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。
Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。
二、STRUCTS
Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。
Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。
三、Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中
取代CMP,完成数据持久化的重任。,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
相关推荐: