首页 > 编程知识 正文

j2ee三大框架,框架理论的三个层次

时间:2023-05-03 14:00:32 阅读:52101 作者:595

本文简要介绍了目前主流的三个框架,三个框架简称SSH

首先,我将介绍Spring、Struts和Hibernate三种框架。

然后,简单介绍三方的作用

Spring :功能强大的组件融合,可以将您的所有java功能模块组合为通过性能分析完成的APP应用程序。 Spring是解决J2EE开发中许多常见问题的强大框架。 Spring提供了唯一的数据访问抽象,包括简单高效的JDBC框架,大大提高了效率并减少了潜在的错误。 Spring的数据访问体系结构还集成了Hibernate和其他o/r映射解决方案。 Spring还提供了唯一的事务管理抽象,可以处理各种底层事务管理技术。

Struts :将servlet、JSP、自定义标记和信息资源整合到一个统一的框架中,开发人员无需自行编码和实现整个MVC模型,从而节省了大量时间,因此具有强大的知名MVC架构

Hibernate :强大的ORM工具。 然后,将数据库记录轻松转换为java的实例,并将java的实例轻松保存到数据库中。 如果不需要复杂的数据库访问,就不需要知道数据库的详细信息。

以下,让我们详细解说三个组件

Spring Spring的具体介绍

Spring是一个开源框架,由Rod Johnson创建。 它是为了解决企业APP应用程序开发的复杂性而编写的。 Spring使用基本的JavaBean来完成以前只由EJB完成的事情。 但是,Spring的用途不限于服务器端的开发。 从简单性、测试性和松散耦合的角度看,任何Java APP应用程序都可以从Spring中获益。

Spring是面向轻量控制反转(IoC )和切断面)的容器框架。

重量轻——从尺寸和开销两方面来看,Spring重量轻。 完整的Spring框架可以在大小大于或等于1MB的JAR文件中发布。 此外,Spring所需的处理开销也很少。 另外,Spring是非侵入性的。 通常,Spring APP应用程序中的对象与spring的特定类无关。

控制反转——Spring通过一种称为控制反转(IoC )的技术促进了松耦合。 应用IoC后,一个对象依赖的其他对象将被动传递,而不是由该对象本身创建或查找从属对象。 与JNDI相反,IoC认为——不是对象从容器中查找依存关系,而是容器在初始化对象时主动传递依存关系,而不等待对象的请求。

面向切片的——Spring提供了对面向切片的编程的丰富支持,通过将APP应用程序的业务逻辑与系统级服务(例如审计(auditing )和事务(transaction )管理)分离来进行集中式开发APP应用对象仅实现它们应该执行的——业务逻辑——。 对其他系统级关切问题(如日志和事务支持)不承担责任。

容器——Spring包含和管理APP应用程序对象的设置和生命周期。 从这个意义上说,它是一个容器,允许每个bean创建3354,根据prototype创建单独的实例,根据需要创建新的实例——,以及设置它们之间的关联但是,Spring不应该与传统重量级的EJB容器混淆,它们总是巨大沉重,难以使用。

框架——Spring可以使简单的组件排列、组合成为复杂的APP应用。 在Spring中,APP应用程序对象是声明性组合的,并且典型地位于一个XML文件中。 Spring提供了许多基础功能,包括事务管理、持久化框架集成等,留给您的是APP应用逻辑的发展。

所有这些Spring的特点使您可以编写更干净、更易于管理和测试的代码。 它还为Spring的不同模块提供基本支持。

Spring的基本配置:

1、最完美的轻量级核心框架。

2、通用事务管理抽象层。

3、JDBC抽象层。

4、集成了Toplink、Hibernate、JDO、and iBATIS SQL Maps。

5、AOP功能。

6、灵活的MVC网络APP应用框架。

Spring的优点:

JAVA EE应该更容易使用。 面向对象的设计比任何实现技术(如JAVA EE )都重要。 面向接口的编程,而不是面向类的编程。 Spring使使用接口的复杂性为零。 (面向接口的编程有哪些复杂性? 代码应该很容易测试。 Spring框架有助于使代码测试更简单。 JavaBean为配置APP应用程序提供了最佳方法。 Java过度使用了“已检查异常”(Checked exception )。 框架不应该捕捉无法恢复的异常。 Struts介绍了Struts是最早的Java开源框架之一,是MVC设计模式的优秀实现。 Struts定义了公共控制器,并通过配置文件(通常为Struts -config.xml )

Struts是第一个java开源框架之一,是MVC设计模式的良好实现。 Struts定义公共控制器,在配置文件(通常为Struts -config.xml )中分离Model )和View,并在Action概念中组成一对

用户请求进行了封装,使代码更加清晰易读。 Struts还提供了自动将请求的数据填充到对象中以及页面标签等简化编码的工具。 Struts能够开发大型Java Web项目。

Hibernate介绍

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JaveEE架构中取代CMP,完成数据持久化的重任。

Hibernate特点:

将对数据库的操作转换为对Java对象的操作,从而简化开发。通过修改一个“持久化”对象的属性从而修改数据库表中对应的记录数据。

提供线程和进程两个级别的缓存提升应用程序性能。

有丰富的映射方式将Java对象之间的关系转换为数据库表之间的关系。

屏蔽不同数据库实现之间的差异。在Hibernate中只需要通过“方言”的形式指定当前使用的数据库,就可以根据底层数据库的实际情况生成适合的SQL语句。

非侵入式:Hibernate不要求持久化类实现任何接口或继承任何类,POJO即可。

Hibernate核心API

Hibernate的API一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。通过这些接口,可以对持久化对象进行存取、事务控制。

1.  Session

Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。

2. SessionFactory

SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。

3. Transaction

Transaction 接口是一个可选的API,可以选择不使用这个接口,取而代之的是Hibernate 的设计者自己写的底层事务处理代码。 Transaction 接口是对实际事务实现的一个抽象,这些实现包括JDBC的事务、JTA 中的UserTransaction、甚至可以是CORBA 事务。之所以这样设计是能让开发者能够使用一个统一事务的操作界面,使得自己的项目可以在不同的环境和容器之间方便地移植。

4. Query

Query接口让你方便地对数据库及持久对象进行查询,它可以有两种表达方式:HQL语言或本地数据库的SQL语句。Query经常被用来绑定查询参数、限制查询记录数量,并最终执行查询操作。

5. Criteria

Criteria接口与Query接口非常类似,允许创建并执行面向对象的标准化查询。值得注意的是Criteria接口也是轻量级的,它不能在Session之外使用。

6. Configuration

Configuration 类的作用是对Hibernate 进行配置,以及对它进行启动。在Hibernate 的启动过程中,Configuration 类的实例首先定位映射文档的位置,读取这些配置,然后创建一个SessionFactory对象。虽然Configuration 类在整个Hibernate 项目中只扮演着一个很小的角色,但它是启动hibernate 时所遇到的第一个对象。

以上内容部分摘自<百度百科>

文章到此结束,非常感谢大家的阅读^_^

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。