一、框架的意义

1.什么是框架?

框架就是一些类和接口的集合,通过这些类和接口协调来完成一系列的程序实现。有了框架,我们就可以集中精力进行业务逻辑的开发而不用去关心它的技术实现以及一些辅助的业务逻辑。

说白了,框架就是封装好方便程序员操作的类,使项目的开发更简单,维护起来也更容易。

框架的本体,实际上是一些jar包和配置文件。

2.为什么要使用框架?

框架的优越性在于:

(1)集中精力完成系统的业务逻辑设计;

(2)使程序更容易扩展和维护,稳定性更强;

(3)处理系统很多细节问题,比如安全性问题。

二、框架的使用

(1)导入相关的jar包

(2)配置项目配置文件(比如web.xml),让项目用框架处理各种行为

(3)添加框架配置文件(比如struts-config.xml),设定框架如何处理各种行为(比如接收到某个请求时,调用哪个类处理)

(4)编写业务逻辑(继承、实现框架中的类、接口),完成具体处理操作。

三、MVC编程架构

1.什么是MVC?

MVC是一种编程架构,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

M:Model(模型),业务逻辑。

V:View(视图),用户界面。

C:Controller(控制器),协调业务逻辑(M)和用户界面(V)。

2.举例

最典型的MVC就是JSP + servlet + javabean的模式:

M:接收控制器(C)传来的指令,完成业务逻辑,进行数据库操作,然后将数据传给【控制器(C)或者视图(V)】

V:获取【控制器(C)或者模型(M)】传来的数据,将结果渲染到用户界面上。

C:截获用户请求,调用业务逻辑(M)完成操作(,然后将数据传递给用户界面(V))

3.主流MVC架构:SSH和SSM

(1)SSH:Struts2做控制器(C),Spring管理各层的组件,Hibernate负责持久化层。

(2)SSM:SpringMVC做控制器(C),Spring管理各层的组件,MyBatis负责持久化层。

(3)共同点:

①Spring依赖注入DI来管理各层的组件。

②使用面向切面编程AOP管理事物、日志、权限等。

(4)不同点:

①Struts2和SpringMVC 控制器(C)控制视图和模型的交互机制的不同,

②Struts2是Action类级别,SpringMVC是方法级别,更容易实现RESTful风格。

(5)SSM和SSH不同主要在MVC实现方式,以及ORM持久化方面不同(Hiibernate与Mybatis)。SSM越来越轻量级配置,将注解开发发挥到极致,且ORM实现更加灵活,SQL优化更简便;而SSH较注重配置开发,其中的Hiibernate对JDBC的完整封装更面向对象,对增删改查的数据维护更自动化,但SQL优化方面较弱,且入门门槛稍高。

四、各框架简介【待补充修改】

1.Spirng

Spring提供了管理业务对象的一致方法,并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。

Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务–如果你需要–还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。

2.Struts2

3.Hibernate

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

4.SpringMVC

5.Mybatis

什么是java框架结构_Java框架概述相关推荐

  1. Java三大主流框架概述

    Struts.Hibernate和Spring是我们Java开发中的常用关键,他们分别针对不同的应用场景给出最合适的解决方案.但你是否知道,这些知名框架最初是怎样产生的? 我们知道,传统的Java W ...

  2. Java三大主流框架概述--(转载)

    Struts.Hibernate和Spring是我们Java开发中的常用关键,他们分别针对不同的应用场景给出最合适的解决方案.但你是否知道,这些知名框架最初是怎样产生的? 我们知道,传统的Java W ...

  3. Java 基础 —— 集合框架概述

    一.集合框架图 Java 集合框架主要包括两种类型的容器:一种是集合(Collection),存储一个元素集合:另一种是图(Map),存储键/值对映射.Collection 接口又有 3 种子类型:L ...

  4. java中collection框架应用示例:学生选课系统

    java中集合框架概述 collection集合框架存储对象,有多个接口list,queue,set.他们对应的重要实现类分别是ArrayList,LinkedList,HashSet 定义类图 pu ...

  5. java 容器_Java容器框架学习整理

    一:容器框架概述 1.什么是容器 2.Java 中的容器 二:Collectoin 容器 1.Collection 接口定义 2.Collection 三个重要的子接口 List.Set.Queue ...

  6. Java集合框架概述及Collection接口方法讲解

    Java集合框架概述 一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象 的操作,就要对对象进行存储.另一方面,使用Array存储对象方面具有一些弊 端,而Java 集合就像一种容 ...

  7. java day53【 Mybatis框架概述 、 Mybatis 框架快速入门、自定义 Mybatis 框架 】

    第1章 框架概述 1.1 什么是框架 1.1.1 什么是框架 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种 定义认为,框架是可被应用开发者定 ...

  8. Java集合(一)集合框架概述

    文章目录 一.集合框架 1.1 常用的集合 1.2 线程安全的集合 1.3 "fail-fast"机制 1.3.1 "fail-fast"机制是什么 1.3.2 ...

  9. java实现三级联动查询_Java框架SSH结合Easyui控件实现省市县三级联动示例解析

    Easyui调用数据库实现省市县区三级联动的效果如果下 1.首先要设计数据库,如图所示.一个有4个字段code,note,pycode.code:行政区划代码,note:中文注释,pycode:拼音缩 ...

  10. java开源服务框架_Java框架服务

    Java从诞生到现在,一路飙升,可以说红遍全球,红到发紫.随着Java的流行,促生了许多java框架:Spring.WebWork.Struts.HIbernate.JDiy.JFinal.Quart ...

最新文章

  1. python入门视频教程推荐-python入门学习哪个书比较好(python视频教程知乎)
  2. 数据库的两种引擎Innodb和MyIASM
  3. 水平居中布局与滚动条跳动
  4. 【机器视觉】 dev_set_part算子
  5. 不停机与停机更新_Istio的零停机滚动更新
  6. lzo的安装及在hadoop中的配置
  7. oracle orm 实例 java_Oracle数据库的JDBC查询实例
  8. 微课|玩转Python轻松过二级(1.3节):编码规范与代码优化建议1
  9. appstore 客户端技术
  10. 电脑安装linux后打不开win,安装完linux后 windows无法启动
  11. Java实现简易四则运算器
  12. LXM音频处理软件 使用说明书
  13. wordpress如何快速配置SSL安全证书
  14. 微信h5界面隐藏刷新功能_隐藏微信H5页面下拉出现的网址
  15. 超市会员管理系统 code
  16. Android开发——应用宝推广渠道出现MD5值重复,请勿重复上传
  17. IC验证-寄存器专项测试
  18. Android Studio主导Unity打包方式的安卓打包
  19. 洛谷P4961 小埋与扫雷
  20. 相机3D坐标到机械臂坐标的转换

热门文章

  1. 【MATLAB】MATLAB三维曲面绘制【详细教程】
  2. PTAM特征点法跟踪和建图 SLAM FAST Patch
  3. 视频教程-【深入理解计算机网络】讲师解读计算机网络原理视频课程(中)-计算机网络
  4. 北斗卫星导航系统基础篇之(二)
  5. 高中计算机技术教材,广西科学技术出版高中信息技术教材第一册《计算机硬件组成》...
  6. xming linux 图形界面,转:Xming + PuTTY 在Windows下远程Linux主机使用图形界面的程序...
  7. 谈谈我见到的杨钰莹是什么样子
  8. java 文本文件合并_java实现文本文件合并
  9. beetle-j2ee-application-framework框架介绍.md
  10. java-FFmpeg(一) 实现视频的转码和截图功能