框架_框架内无法登录qq - CSDN
框架 订阅
框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。框架这个广泛的定义使用的十分流行,尤其在软件概念。框架也能用于机械结构。 展开全文
框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。框架这个广泛的定义使用的十分流行,尤其在软件概念。框架也能用于机械结构。
信息
释    义
联结而成的结构
中文名
框架
应用领域
软件、机械结构等
注    音
ㄎㄨㄤˋ ㄐㄧㄚˋ
拼    音
kuàng jià
英    译
Framework
框架释义
1、释义:(1)建筑工程中,由梁、柱等联结而成的结构;(2)比喻事物的组织、结构。2、土木工程中,由梁、柱等构件刚性连结而成的结构体系。3、比喻事物的组织、结构:这部长篇小说已经有了一个大致的框架。
收起全文
  • Spring开发框架

    2018-10-22 21:38:06
    Spring是现在为流行的技术开发框架,也是所有企业开发之中必定要使用的开发框架,使用Spring可以有效的避免代码耦合性问题,也可以方便的进行各种开发资源的整合处理。 在Spring框架中其核心组成为DI(依赖注入)与...
  • 三大框架介绍

    2019-02-16 22:23:39
    这篇文章来简单介绍一下目前主流的三大框架,三大框架简称 SSH 简单介绍 首先,先说明一下是哪三大框架:Spring、Struts、Hibernate。 然后,简单介绍一下三者的作用 Spring:功能强大的组件融合器,能够将你的...

    这篇文章来简单介绍一下目前主流的三大框架,三大框架简称 SSH

    简单介绍

    首先,先说明一下是哪三大框架:Spring、Struts、Hibernate。

    然后,简单介绍一下三者的作用

    Spring:功能强大的组件融合器,能够将你的所有的java功能模块用配置文件的方式组合起来成为一个完成的应用。Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术。

    Struts:把Servlet、JSP、自定义标签和信息资源整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说它是大名鼎鼎的功能强大的MVC架构。

    Hibernate:强大的ORM工具,然后很方便将数据库记录转化为java的实体实例,将java的实体实例很容易的保存到数据库中,如果你不需要很复杂的数据库访问,利用它你根本就不用了解数据库的细节。

    详细解说

    下面,来详细解说一下三个组件吧

    Spring

    Spring的具体介绍

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

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

    轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。

    控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。

    面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。

    容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。

    框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。

    所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。

    Spring的基本组成

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

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

    3、JDBC抽象层。

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

    5、AOP功能。

    6、灵活的MVC Web应用框架。

    Spring的优点

    1. JAVA EE应该更加容易使用。
    2. 面向对象的设计比任何实现技术(比如JAVA EE)都重要。
    3. 面向接口编程,而不是针对类编程。Spring将使用接口的复杂度降低到零。(面向接口编程有哪些复杂度?)
    4. 代码应该易于测试。Spring框架会帮助你,使代码的测试更加简单。
    5. JavaBean提供了应用程序配置的最好方法。
    6. 在Java中,已检查异常(Checked exception)被过度使用。框架不应该迫使你捕获不能恢复的异常。

    Struts介绍

    Struts是最早的Java开源框架之一,它是MVC设计模式的一个优秀实现。 Struts定义了通用的Controller(控制器),通过配置文件(通常是 Struts -config.xml)

    Struts是最早的java开源框架之一,它是MVC设计模式的一个优秀实现。 Struts定义了通用的Controller(控制器),通过配置文件(通常是 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个,分别为:SessionSessionFactoryTransactionQueryCriteria和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 时所遇到的第一个对象。

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

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

    展开全文
  • 什么是框架 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。...

    什么是框架

    框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。 
    可以说,一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系。因此构件库的大规模重用也需要框架。 
    构件领域框架方法在很大程度上借鉴了硬件技术发展的成就,它是构件技术、软件体系结构研究和应用软件开发三者发展结合的产物。在很多情况下,框架通常以构件库的形式出现,但构件库只是框架的一个重要部分。框架的关键还在于框架内对象间的交互模式和控制流模式。 
    框架比构件可定制性强。在某种程度上,将构件和框架看成两个不同但彼此协作的技术或许更好。框架为构件提供重用的环境,为构件处理错误、交换数据及激活操作提供了标准的方法。 
    应用框架的概念也很简单。它并不是包含构件应用程序的小片程序,而是实现了某应用领域通用完备功能(除去特殊应用的部分)的底层服务。使用这种框架的编程人员可以在一个通用功能已经实现的基础上开始具体的系统开发。框架提供了所有应用期望的默认行为的类集合。具体的应用通过重写子类(该子类属于框架的默认行为)或组装对象来支持应用专用的行为。 
    应用框架强调的是软件的设计重用性和系统的可扩充性,以缩短大型应用软件系统的开发周期,提高开发质量。与传统的基于类库的面向对象重用技术比较,应用框架更注重于面向专业领域的软件重用。应用框架具有领域相关性,构件根据框架进行复合而生成可运行的系统。框架的粒度越大,其中包含的领域知识就更加完整。 
    框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。 框架的概念最早起源于Smalltalk环境,其中最著名的框架是Smalltalk 80的用户界面框架MVC(Model-View-Controller)。随着用户界面框架Interviews 【Linton 89】和ET++ 【Weinand 89】 的开发和发布,框架研究越来越受到研究人员的重视。虽然框架研究最初起源于用户界面领域,但它还被成功地应用到其他领域中,如操作系统、火警系统 等。Taligent公司于1992年成立后,框架研究受到了广泛的重视。该公司计划基于框架来开发一个完整的面向对象操作系统。另外,该公司还发布了一套支持快速应用开发的工具集CommonPoint,其中包括了上百个面向对象框架 【Andert 94,Cotter 95】。框架还没有统一的定义,其中Ralph Johnson所给出的定义基本上为大多数研究人员所接受: 
    一个框架是一个可复用设计,它是由一组抽象类及其实例间协作关系来表达的。 
    这个定义是从框架内涵的角度来定义框架的,当然也可以从框架用途的角度来给出框架的定义: 
    一个框架是在一个给定的问题领域内,一个应用程序的一部分设计与实现。 
    从以上两个定义可以看出,框架是对特定应用领域中的应用系统的部分设计和实现com/wiki/%E5%AD%90%E7%B3%BB%E7%BB%9F target=”_new” class=innerlink>子系统)的整体结构。框架将应用系统划分为类和对象,定义类和对象的责任,类和对象如何互相协作,以及对象之间的控制线程。这些共有的设计因素由框架预先定义,应用开发人员只须关注于特定的应用系统特有部分。框架刻画了其应用领域所共有的设计决策,所以说框架着重于设计复用,尽管框架中可能包含用某种程序设计语言实现的具体类。 
    一个基于框架开发的应用系统包含一个或多个框架,与框架相关的构件类,以及与应用系统相关的功能扩展。与应用系统相关的扩展包括与应用系统相关的类和对象。应用系统可能仅仅复用了面向对象框架的一部分,或者说,它可能需要对框架进行一些适应性修改,以满足系统需求。 
    面向对象的框架作为一种可复用的软件,在基于框架的软件开发过程中会涉及到框架的开发和利用两个方面的工作。框架的开发阶段在于产生领域中可复用的设计。该阶段的主要结果是框架以及与框架相关的构件类。该阶段的一个重要活动是框架的演变和维护。象所有软件一样,框架也易于变化。产生变化的原因很多,如应用出错,业务领域变化,等等。 
    不论是哪一种技术,最终都是为业务发展而服务的。从业务的角度来讲。首先,框架的是为了企业的业务发展和战略规划而服务的,他服从于企业的愿景;其次,框架最重要的目标是提高企业的竞争能力,包括降低成本、提高质量、改善客户满意程度,控制进度等方面。最后,框架实现这一目标的方式是进行有效的知识积累。软件开发是一种知识活动,因此知识的聚集和积累是至关重要的。框架能够采用一种结构化的方式对某个特定的业务领域进行描述,也就是将这个领域相关的技术以代码、文档、模型等方式固化下来。

    为什么要用框架

    因为软件系统发展到今天已经很复杂了,特别是服务器端软件,涉及到的知识,内容,问题太多。在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。而且框架一般是成熟,稳健的,他可以处理系统很多细节问题,比如,事物处理,安全性,数据流控制等问题。还有框架一般都经过很多人使用,所以结构很好,所以扩展性也很好,而且它是不断升级的,你可以直接享受别人升级代码带来的好处。 
    框架一般处在低层应用平台(如J2EE)和高层业务逻辑之间的中间层。 
    软件为什么要分层? 为了实现“高内聚、低耦合”。把问题划分开来各个解决,易于控制,易于延展,易于分配资源…总之好处很多啦:)。

    解决问题

    框架要解决的最重要的一个问题是技术整合的问题,在J2EE的框架中,有着各种各样的技术,不同的软件企业需要从J2EE中选择不同的技术,这就使得软件企业最终的应用依赖于这些技术,技术自身的复杂性和技术的风险性将会直接对应用造成冲击。而应用是软件企业的核心,是竞争力的关键所在,因此应该将应用自身的设计和具体的实现技术解耦。这样,软件企业的研发将集中在应用的设计上,而不是具体的技术实现,技术实现是应用的底层支撑,它不应该直接对应用产生影响。 要理解这一点,我们来举一些例子: 
    一个做视频流应用的软件企业,他为电广行业提供整体的解决方案。他的优势在于将各种各样的视频硬件、服务器、和管理结合起来,因此他扮演的是一个集成商的角色。因此他的核心价值在于使用软件技术将不同的硬件整合起来,并在硬件的整合层面上提供一个统一的管理平台。所以他的精力应该放在解决两个问题: 
    如何找到一种方法,将不同的硬件整合起来,注意,这里的整合并不是技术整合,而是一种思路上的整合。首先要考虑的绝对不是要使用什么技术,而是这些硬件需要提供哪些服务,需要以什么样的方式进行管理。因此,这时候做的事情实际上是对领域进行建模。例如,我们定义任何一种硬件都需要提供两种能力,一种是统一的管理接口,用于对所有硬件统一管理;另一种是服务接口,系统平台可以查询硬件所能够提供的服务,并调用这些服务。所以,设计的规范将会针对两种能力进行。 
    另一个问题是如何描述这个管理系统的规范。你需要描述各种管理活动,以及管理中所涉及的不同实体。因为管理系统是针对硬件的管理,所以它是构架在硬件整合平台之上的。 
    在完成业务层面的设计之后,我们再来看看具体的技术实现。光有规范和设计是不够的,我们还需要选择一个优秀的技术。由于是对不同硬件的整合,我们想到采用Java提供的JMX技术。JMX技术适合用来进行系统整合,它定义了一个通用的规范,并给出了远程管理端口的一些默认实现。JMX已经经过了实践的检验,不少的应用服务器都采用了以JMX为基础的结构,例如有名的JBoss。JMX已经是一个很好的开始了,但是我们还需要在JMX的基础上再做一些工作。

    网页设计中的框架概念

    框架是网页中经常使用的页面设计方式,框架的作用就是把网页在一个浏览器窗口下分割成几个不同的区 域,实现在一个浏览器窗口中显示多个HTML页面。使用框架可以非常方便的完成导航工作,让网站的结构更加清晰,而且各个框架之间决不存在干扰问题。利用框架最大的特点就是使网站的风格一致。通常把一个网站中页面相同的部分单独制作成一个页面,作为框架结构的一个子框架的内容给整个网站公用。 
    一个框架结构有两部分网页文件构成: 
    框架Frame:框架是浏览器窗口中的一个区域,它可以显示与浏览器窗口的其余部分中所显示内容无关的网页文件。 
    框架集Frameset:框架集也是一个网页文件,它将一个窗口通过行和列的方式分割成多个框架,框架的多少根据具体有多少网页来决定,每个框架中要显示的就是不同的网页文件。 
    所谓框架[4] 就是把网页分成几个框窗,同时取得多个 URL。用来划分框窗,每一框窗有一个,必须在范围中使用。如:  

    <frameset cols="50%,*">
      <frame name="hello" src="1.html"> <frame name="hi" src="2.html">
    </frameset>
    • 1
    • 2
    • 3

    此例中 把画面分成左右两相等部分,左面显示 1.html,右面显示 2.html 
       
    程序设计中的框架概念

    程序设计中的框架包含DoitPHP(原Tommyframework)是一个基于BSD开源协议发布的轻量级PHP框架,还包含如thinkphp、codeigniter(简称CI)、yii framework、doophp、qeephp、等主流的程序设计框架,根据个人习惯和性能要求,其各也有不同的优缺点! 
    从软件设计角度,框架是一个可复用的软件架构解决方案,规定了应用的体系结构,阐明软件体系结构中各层次间及其层次内部各组件间的毅力关系,责任分配和控制流程,表现为一组接口,抽象类以及实例间协作的方法。

    展开全文
  • 必知必会Spring框架

    2020-07-22 11:36:30
    本套课程为SSM框架组合学习中的Spring框架实战讲解,课程从Spring框架中的设计模式实践开始学习,分析模拟实现一个工厂容器,采用案例引导式讲解,对每个技术点都配合实战案例演示讲解。课程中对IOC和DI、AOP、动态...
  • 什么是框架

    2019-05-06 19:27:32
    在编程领域,软件框架是指一种抽象形式,它提供了一个具有通用功能的软件,这些功能可以由使用者编写代码来有选择的进行更改,从而提供服务于特定应用的软件。软件框架提供了一种标准的方式来构建并部署应用。 软件...

    在编程领域,软件框架是指一种抽象形式,它提供了一个具有通用功能的软件,这些功能可以由使用者编写代码来有选择的进行更改,从而提供服务于特定应用的软件。软件框架提供了一种标准的方式来构建并部署应用。

    软件框架是一种通用的、可复用的软件环境,它提供特定的功能,作为一个更大的软件平台的一部分,用以促进软件应用、产品和解决方案的开发工作。软件框架可能会包含支撑程序、编译器、代码、库、工具集以及 API,它把所有这些部件汇集在一起,以支持项目或系统的开发。

    框架和普通的库在特性上具有一些关键性的区别:

    *inversion of control_: In a framework, unlike in libraries or in standard user applications, the overall program’s flow of control is not dictated by the caller, but by the framework.*
    

    控制反转: 与库或普通的应用不同,在框架中,应用的宏观控制流程不是由调用者决定的,而是由框架本身。

    *extensibility_: A user can extend the framework – usually by selective overriding; or programmers can add specialized user code to provide specific functionality.*
    
    

    可扩展性: 用户可以扩展该框架 —— 通常是有选择的进行改写(Override)或者由程序员添加专门的用户代码来提供特定的功能。

    *non-modifiable framework code_: The framework code, in general, is not supposed to be modified, while accepting user-implemented extensions. In other words, users can extend the framework, but should not modify its code.*
    

    不可修改框架代码: 通常,框架代码都不打算让你修改,而是接受由用户自己实现的某些扩展。换句话说,用户可以扩展该框架,但是不应该修改它的代码。

    展开全文
  • ORM型框架:对数据进行持久化操作,例如:基于SQL的MyBatis框架和Hibernate框架。 MVC型框架:从逻辑上分为视图层,控制层,模型层,各层各司其职,之间是相互调用的关系,而不是相互依赖的关系。 &nbsp;&...

    ORM型框架:对数据进行持久化操作,例如:基于SQL的MyBatis框架和Hibernate框架。

    MVC型框架:从逻辑上分为视图层,控制层,模型层,各层各司其职,之间是相互调用的关系,而不是相互依赖的关系。
            例如:SpringMVC,Struts2框架,Spring框架。

    Spring框架:将对象的管理交给Spring的IOC容器,反转资源获取的方向,是编程思想的一大进步。

    前端框架:jQuery,如果考虑到前后端分离技术,可以学习vue,node,js等框架,对于海量数据,高并发类型的分布式项目。
            例如:双十一阿里需要处理的订单数据,比如12306的抢票等。

    提升查询效率的缓存数据库框架Redis,这个框架在单应用程序中为了提升数据的读取效率也可以使用,先把数据从关系数据库通过Redis存放到缓存中,从缓存中读取数据的速度比直接从硬盘上读取就要高多了,另外Redis还能进行集群配置主从服务器等,使用非常方便,同类型的还有memcached框架。

    Nginx:在分布式中,服务集群中的负载均衡特别重要,支持多种负载均衡算法。

    MQ:RabbitMQ、ActiveMQ、RocketMQ等消息队列框架。
            应用案例:在电商系统中,当结算订单后,需要进行积分的变化等操作,这些操作的量很大,如果等积分变化结束后在通知用户结算成功,显然不可行,那么此时积分的变更操作交由消息队列来完成。

    搜索框架:为了提升搜索的效率,创建搜索索引,缓存技术,使用redis数据库,使用结构化查询语句,使用搜索框架(solr框架以及ElasticSearch)。

    Spring boot框架:简化了Spring的复杂配置,提供了Thymeleaf模板,很多微服务都是基于Springboot的。

    微服务框架:把应用拆分成若干个为服务后,很好的适用了高并发及海量数据的处理。
            例如:Dubbo+zookeeper,还有SpringCloud,里面包括SpringCloud Eureka,SpringCloud Ribbon,SpringCloud Feign,SpringCloudHystrix,SpringCloudZuul,SpringCloud Config,SpringCloud ZipKin,SpringCloud Sleuth等。

    其它框架:还有很多根据项目特定要求的一些框架,例如进行日志记录的log4j框架,进行认证和授权的shiro框架,工作流处理的Activite框架等。

    展开全文
  • Java主流开发框架

    2018-11-26 16:02:01
    Spring框架 Spring框架是一个分层架构,由7个定义良好的模块组成。Spring框架构建在核心容器之上,核心容器定义了创建、配置和管理bean的方式,如下图所示: Spring框架的7个模块组成Spring框架的每个模块(或组件...

    Spring框架

    Spring框架是一个分层架构,由7个定义良好的模块组成。Spring框架构建在核心容器之上,核心容器定义了创建、配置和管理bean的方式,如下图所示:

    Spring框架的7个模块

    组成Spring框架的每个模块(或组件)都可以单独存在,或者与其他一个或对个模块联合实现。每个模块的功能如下:

    • 核心容器(Spring Core):核心容器提供Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
    • Spring 上下文(Spring Context):Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
    • Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。
    • Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。
    • Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
    • Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
    • Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。

           Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 J2EE 环境 (Web 或 EJB)、独立应用程序、测试环境之间重用。

           控制反转模式(也称作依赖性介入)的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器 (在 Spring 框架中是 IOC 容器) 负责将这些联系在一起。

           面向方面的编程,即 AOP,是一种编程技术,它允许程序员对横切关注点或横切典型的职责分界线的行为(例如日志和事务管理)进行模块化。AOP 的核心构造是方面,它将那些影响多个类的行为封装到可重用的模块中。AOP 的功能完全集成到了 Spring 事务管理、日志和其他各种特性的上下文中。

    BeanFactory  支持两个对象模型。

    • 单态 模型提供了具有特定名称的对象的共享实例,可以在查询时对其进行检索。Singleton 是默认的也是最常用的对象模型。对于无状态服务对象很理想。
    • 原型 模型确保每次检索都会创建单独的对象。在每个用户都需要自己的对象时,原型模型最适合。

    SpringMVC框架

           MVC(Model-View-Control):Control层属于框架部分,主要完成的工作是:封装web请求为一个数据对象、调用业务逻辑层来处理数据对象、返回处理数据结构以及相应的师徒给客户端。

           SpringMVC 和 Struts2 都是表现层的框架,是 Spring 框架的一部分,Spring 框架中 Control 层的核心是DispatcherServlet,它的作用是将请求分发给不同的后端处理器。

            Spring 的 Control 层框架使用了后端控制器来映射处理器和视图解析器来共同完成 Control 层框架的主要工作。并且 spring 的 Control 层框架还真正地把业务层处理的数据结果和相应的视图拼成一个对象,即 ModelAndView 对象。

     SpringMVC框架处理流程

          

     SpringMVC框架访问流程

           

    MyBatis框架

           MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

    图片来源于《《深入理解mybatis原理》 MyBatis的架构设计以及实例分析》

    从MyBatis代码实现的角度来看,MyBatis的主要的核心部件有以下几个:

    • SqlSession            作为MyBatis工作的主要顶层API,表示和数据库交互的会话,完成必要数据库增删改查功能
    • Executor              MyBatis执行器,是MyBatis 调度的核心,负责SQL语句的生成和查询缓存的维护
    • StatementHandler   封装了JDBC Statement操作,负责对JDBC statement 的操作,如设置参数、将Statement结果集转换成List集合。
    • ParameterHandler   负责对用户传递的参数转换成JDBC Statement 所需要的参数,
    • ResultSetHandler    负责将JDBC返回的ResultSet结果集对象转换成List类型的集合;
    • TypeHandler          负责java数据类型和jdbc数据类型之间的映射和转换
    • MappedStatement   MappedStatement维护了一条<select|update|delete|insert>节点的封装, 
    • SqlSource            负责根据用户传递的parameterObject,动态地生成SQL语句,将信息封装到BoundSql对象中,并返回
    • BoundSql             表示动态生成的SQL语句以及相应的参数信息
    • Configuration        MyBatis所有的配置信息都维持在Configuration对象之中。

    MyBatis层次结构: 

    图片来源于《《深入理解mybatis原理》 MyBatis的架构设计以及实例分析》

    Hibernate框架

            JDBC 代表 Java Database Connectivity ,它是提供了一组 Java API 来访问关系数据库的 Java 程序。这些 Java APIs 可以使 Java 应用程序执行 SQL 语句,能够与任何符合 SQL 规范的数据库进行交互。

           

    • Hibernate框架是应用在JavaEE三层结构中的dao层框架
    • 使用Hibernate框架在dao层里面做对数据库的增删改查操作。Hibernate框架底层是JDBC,使用Hibernate框架对JDBC轻量级的封装,可以不需要写复杂的JBDC代码
    • Hibernate框架是开源的,轻量级的框架(Hibernate框架不需要依赖其他东西就可以直接使用)

    Hibernate 优势

    • Hibernate 使用 XML 文件来处理映射 Java 类别到数据库表格中,并且不用编写任何代码。
    • 为在数据库中直接储存和检索 Java 对象提供简单的 APIs。
    • 如果在数据库中或任何其它表格中出现变化,那么仅需要改变 XML 文件属性。
    • 抽象不熟悉的 SQL 类型,并为我们提供工作中所熟悉的 Java 对象。
    • Hibernate 不需要应用程序服务器来操作。
    • 操控你数据库中对象复杂的关联。
    • 最小化与访问数据库的智能提取策略。
    • 提供简单的数据询问。

    Hibernate应用程序体系结构图

           

    配置对象
           配置对象是你在任何 Hibernate 应用程序中创造的第一个 Hibernate 对象,并且经常只在应用程序初始化期间创造。它代表了 Hibernate 所需一个配置或属性文件。配置对象提供了两种基础组件。
    数据库连接:由 Hibernate 支持的一个或多个配置文件处理。这些文件是 hibernate.properties 和 hibernate.cfg.xml。
    类映射设置:这个组件创造了 Java 类和数据库表格之间的联系。

    • SessionFactory 对象:配置对象被用于创造一个 SessionFactory 对象,使用提供的配置文件为应用程序依次配置 Hibernate,并允许实例化一个会话对象。SessionFactory 是一个线程安全对象并由应用程序所有的线程所使用。SessionFactory 是一个重量级对象所以通常它都是在应用程序启动时创造然后留存为以后使用。每个数据库需要一个 SessionFactory 对象使用一个单独的配置文件。所以如果你使用多种数据库那么你要创造多种 SessionFactory 对象。
    • Session 对象:一个会话被用于与数据库的物理连接。Session 对象是轻量级的,并被设计为每次实例化都需要与数据库的交互。持久对象通过 Session 对象保存和检索。Session 对象不应该长时间保持开启状态因为它们通常情况下并非线程安全,并且它们应该按照所需创造和销毁。
    • Transaction 对象:一个事务代表了与数据库工作的一个单元并且大部分 RDBMS 支持事务功能。在 Hibernate 中事务由底层事务管理器和事务(来自 JDBC 或者 JTA)处理。这是一个选择性对象,Hibernate 应用程序可能不选择使用这个接口,而是在自己应用程序代码中管理事务。
    • Query 对象:Query 对象使用 SQL 或者 Hibernate 查询语言(HQL)字符串在数据库中来检索数据并创造对象。一个查询的实例被用于连结查询参数,限制由查询返回的结果数量,并最终执行查询。
    • Criteria 对象:Criteria 对象被用于创造和执行面向规则查询的对象来检索对象。
    展开全文
  • Spring框架介绍及使用

    2018-03-17 10:49:54
    Spring框架—控制反转(IOC) 1 Spring框架概述 1.1 什么是Spring 1.2 Spring的优点 1.3 Spring的体系结构 2 入门案例:(IoC) 2.1导入jar包 2.2目标类 2.3 配置文件 2.4测试 3 入门案例:DI 3.1 目标类...
  • 什么是框架

    2007-11-20 18:56:00
    导读: 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。 可以说...
  • 首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。   集成SSH框架的系统从职责上分为四层:表示层...
  • 这一年中有很多热门的前端开发框架,下面源码时代web小编为大家总结2016年至今最受欢迎的几款前端框架。 在这互联网飞速发展的信息时代,技术的更新迭代也在加快。目前看来,火了十几年的Java技术现在仍然是棵常青...
  • Android酷炫实用的开源框架(UI框架)前言忙碌的工作终于可以停息一段时间了,最近突然有一个想法,就是自己写一个app,所以找了一些合适开源控件,这样更加省时,再此分享给大家,希望能对大家有帮助,此博文介绍的...
  • spring框架学习(一)

    2014-03-07 22:51:23
    spring是J2EE应用程序框架,是轻量级的IoC和AOP的容器框架,主要是针对javaBean的生命周期进行管理的轻量级容器,可以单独使用,也可以和Struts框架,ibatis框架等组合使用。     2,架构概述      1)...
  • 最近想了解一下有关Spring Boot的开源项目,看了很多开源的框架,大多是一些demo或者是一个未成形的项目,基本功能都不完整,尤其是用户权限和菜单方面几乎没有完整的。 想到我之前做的框架,里面通用模块有:用户...
  • Web自动化测试框架(WebTestFramework)是基于Selenium框架且采用PageObject设计模式进行二次开发形成的框架。 一、适用范围:传统Web功能自动化测试、H5功能自动化测试。 二、兼容性:建议使用火狐或谷歌浏览器,...
  • Xposed框架的使用 1.xposed是什么? 框架是一款开源框架,其功能是可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。...
  • 原文:Top 6 web ...以下为译文:GO 语言爱好者的最佳Web框架如果你是自己写一个小应用程序,那你可能不需要Web框架。但是如果你要做产品,那么你肯定需要一个好的框架。如果你认为你有相应的知识和经验,你会
  • GAPPS顾名思义就是指谷歌旗下的应用程序,这里特指运行在Android平台上面的谷歌程序,包括底层的通信服务(GSM服务、谷歌服务框架)和可视的应用程序如谷歌地图、GMAIL、谷歌音乐等,因为Android系统自身的不断更新...
  • iOS的主要框架介绍

    2012-05-17 11:00:40
    框架是一个目录,这个目录包含了共享库,访问共享库里代码的头文件,和其它的图片和声音的资源文件。一个共享库定义的方法或函数可以被应用程序调用。  IOS提供了很多你可以在应用程序里调用的框架。要使用一个...
  • 首先该框架采用了分布式路由管理机制,其次自带数据库管理后台十分强大 那么分布式路由管理机制 可以实现高并发的爬虫 同时也可以远程监控爬虫的运行情况 只要你的电脑上有浏览器 还可以查看数据库且摆脱l传统的终端...
1 2 3 4 5 ... 20
收藏数 2,551,672
精华内容 1,020,668
关键字:

框架