首页 > 知识点讲解
       J2EE框架
知识路径: > 电子商务系统程序设计基础 > 电子商务平台开发基础 > J2EE平台技术及其结构 > J2EE平台技术及其结构 > 
被考次数:1次     被考频率:低频率     总体答错率:53%     知识难度系数:     
相关知识点:11个      
        框架(Framework)是一个提供了可重用的公共结构的半成品。它为我们构件新的应用提供了极大的方便。一方面给我们提供了可以直接使用的工具,同时给我们提供了可重用的设计。框架这个词最早出现在建筑领域,指的是在建造房屋前构建的建筑骨架。对应用程序来说,“框架”的意义也在于此,是应用程序的骨架。开发者可以在这个骨架上添加自己的东西,完成符合自己需要的应用系统。
        框架保证了我们程序结构风格统一,从企业的角度来说,降低了培训成本和软件的维护成本。框架在结构统一和创造力之间维持着一个平衡。框架和组件的意义是不同的。组件是构件应用程序的零件。而框架是一系列预装的,组合在一起的“零件”,而且还定义了“零件”间协同工作的规则。
               Struts框架
               Struts是一种基于Java技术的JSP Web开发框架,Web应用程序开发人员通过Struts框架即可充分利用面向对象设计、代码重用以及“一次编写、到处运行”的优点。Struts提供了一种创建Web应用程序的框架,对应用程序的显示、表示和数据的后台代码进行了抽象。
               Struts是对MVC(Model View Controller)设计模式的一种实现。MVC设计模式为构建可扩展、可重用的代码打下了坚实的基础。以MVC设计模式构造软件,可以使软件结构灵活、重用性好、扩展性好。
               MVC设计模式目的就是将模型(业务逻辑)和视图(页面展示)分离,使模型和视图可以独立修改,而不会影响到对方。在MVC中,M指的是Model(模型),表示程序处理业务逻辑的部分;V指的是View(视图),表示程序负责展示数据、获得用户输入的部分;C指的是Controller(控制器),负责从V接收用户输入,调用M,返回数据到V。我们可以看出,C在MVC起到“中介”的作用,从而保证M和V不会直接交互。
               在Struts中,ActionServlet起着一个控制器的作用。视图主要由JSP来控制页面输出。模型在Struts中,主要存在三种bean,分别是:Action、ActionForm、EJB或者Java Bean。Struts框架结构如下图所示。
               
               Struts框架结构图
               Spring框架
               Spring是轻量级的J2EE应用程序开源框架。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。并且Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
               Spring的核心是个轻量级容器(container),是实现了IoC(Inversion of Control)模式的容器;Spring的目标是实现一个全方位的整合框架,在Spring框架下实现多个子框架的组合,这些子框架之间彼此可以独立,也可以使用其他的框架方案加以替代。
               Spring支持AOP(Aspect-Oriented Programming),Spring也提供MVC Web框架的解决方案,并且可以将MVC Web框架与Spring结合。Spring还提供其他方面的整合,如JDBC(Java Data Base Connectivity,Java数据库连接)、事务处理等。Spring框架结构如下图所示。
               
               Spring框架
               Spring的核心概念是IoC(Inversion of Control),IoC的抽象概念是“依赖关系的转移”,中文可以译为“控制反转”。IoC表现在:高层模块不应该依赖低层模块,而是模块都必须依赖于抽象;实现必须依赖抽象,而不是抽象依赖实现;应用程序不应依赖于容器,而是容器服务于应用程序。
               IoC是由容器控制程序之间的关系,而非由程序代码直接操控。控制权由应用代码转到了外部容器。控制权的转移,就是所谓的反转。使用IoC,对象是被动的接受依赖类,容器在实例化的时候主动将它的依赖类注入给它。
               Spring所采用的是依赖注入(Dependency Injection)。依赖注入的意义是:保留抽象接口,让组件依赖于抽象接口,当组件要与其他实际的对象发生依赖关系时,通过抽象接口来注入依赖的实际对象。依赖注入的目标是为了提升组件重用的几率,并为系统搭建一个灵活和可扩展的平台。
               另外,Spring提供一种无侵入式的高扩展性框架,不需要代码中涉及Spring专有类,即可纳入Spring容器进行管理。org.springframework.beans包中包括了这些核心组件的实现类。
               Spring框架另一个重要方面是对AOP提供了一种优秀的实现。AOP(Aspect Oriented Programming),可翻译为“面向切面编程”。AOP是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。AOP组件与应用代码无关,应用代码可以脱离AOP组件独立编译。Spring中的AOP通过运行期动态代理模式实现。
               总结起来Spring框架的主要功能包括:
               ①基于Java Beans的配置管理,减少各组件间相互依赖。
               ②一个核心的,全局适用的bean工厂。
               ③一个一般抽象化的层面来管理数据库间的数据处理。
               ④建立在框架内对Java数据处理API和单独的JDBC数据源的一般性策略。
               ⑤Web应用中的MVC框架,基于核心的Spring功能,支持多种产生视图的技术。
               ⑥大量的AOP框架以提供诸如数据处理管理的服务。
               Hibernate框架
               Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以使用对象编程思维来操纵数据库。
               “对象/关系”映射(O/R Mapping)是一门非常实用的工程技术,它实现了Java应用中的对象到关系数据库中的表的持久化。使用元数据(meta data)描述了对象与数据库间的映射。Hibernate是非常优秀、成熟的O/R Mapping框架,它提供了强大的对象和关系数据库映射以及查询功能。Hibernate体系结构如下图所示。
               
               Hibernate体系结构
               Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。这6个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这6个核心接口分别加以介绍。
               (1)Session接口。Session接口负责执行被持久化对象的增删改查操作(增删改查的任务是完成与数据库的交流,包含了很多常见的SQL语句)。但需要注意的是Session对象是非线程安全的。
               (2)SessionFactory接口。SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
               (3)Configuration接口。Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置,读取配置,然后创建SessionFactory对象。
               (4)Transaction接口。Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。
               (5)Query和Criteria接口。Query和Criteria接口负责执行各种数据库查询。它可以使用HQL(Hibernate Query Language,官方推荐的Hibernate检索方式)或SQL语句两种表达方式。
 
本知识点历年真题:
隶属试卷 题号/题型 题干 难度系数/错误率
   2018年下半年
   电子商务设计师..
   上午试卷 综合知识
第57题
选择题
常见的JavaEE框架中,不包括( ).

53%
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有