YouzgLogo

框架

名词辨析:

技术

解决某一类问题的方法手段


例如:
servlet、jsp
JDBC —— java操作数据库,访问数据库的一套API

组件

应用程序中可以“复用”的零件


例如:
分页组件 —— 很多页面都有分页逻辑,展示
数据库访问工具类 —— DBHelper、DBManager、DBUtil

框架

  • 建筑工程中:
    由梁 柱等连接而成的结构;
    比喻事物的组织,结构

  • 程序中:
    Framework,
    构成特定软件 可复用设计的 一组 相互协助工作 的类
    应用程序半成品

系统

实现了完整功能应用程序

框架的底层核心技术

反射机制


为什么要学习框架?

首先,本人来通过一张图展示下,在我们往常的JavaWeb学习中,
网站开发流程
JavaWeb网站开发 流程
本人现在来讲解下上图中的一个知识点 —— 容器与服务器
容器与服务器

  • 容器
    功能单一

例如:tomcat就是一个servlet的容器

  • 服务器
    严格按照Java EE的规范提供技术支持的

例如:JBOSS(免费)、weblogic(收费)

那么,上图所展示的流程,我们能看到
以往的网络开发,利用了之前本人所讲解的MVC思想,完成了各层代码逻辑的解耦
但是,这种 使用MVC思想jsp+servlet+javabean模式 存在很多致命问题
致命问题

  • servlet非常多处理起来很繁琐
    例如:用户的注册,登陆,修改用户信息
    如果使用三个servlet,那么类太多,不好处理
    如果使用一个servlet,那么一个类中就要存在三个方法,后台根据参数的不同选择调用,实现起来麻烦

  • servlet取值封装 很麻烦
    例如:前端如果传递10个表单输入项
    request.取值 10次、封装对象 setXX属性10次、还要注意数据类型的转换

  • dao要编写大量的sql,且 sql语句不具备通用性
    即:适应于MySQL的sql不一定适应于Oracle

  • dao的executeQuery()方法返回的是ResultSet结果集对象
    此对象要解析封装Java对象

  • 开发效率低,因为有大量重复性****的简单的编码任务

  • 写出来的代码规范性不强不标准

  • 程序的扩展性较差
    例如:客户让你统计程序中所有的save()方法每天被调用了多少次,实现起来就很麻烦了

那么,既然以往的jsp+servlet+javabean模式存在这么多弊端,
我们该如何解决呢?

现有如下想法:

  • servlet:
    获取前端发送的数据,如果不用取了数据类型也自动封装好了
  • dao:
  1. 如果说sql不用写了,通过save()方法,对象就能够直接存储到数据库中
  2. 数据库的结果集如果不解析,会自动映射Java对象/集合

那么,正是因为有如上的想法,前辈们才能开发出“框架”:

程序中相似的部分,提取出来,做成一个规则,形成一个框架
这样就解决了程序中通用的需要处理的代码,简化代码的开发
使得 程序员专注于程序逻辑的编写


在Java中,存在着非常多的框架,
甚至 包括本人之前博文中所讲解的C/SFramework,
以及之后博文中所要进行讲解的NetFramework,都是Java框架

现在,本人就来讲解下 Java中的常见框架

Java中的常见框架:

Java中的常见框架 展示


Java中的 两大架构:

架构定义

架构 —— 框架组合

首先是 在上个时代流行于一时的 “SSH架构”:
SSH架构 展示

接下来是 在当前时代,风靡全球的 “SSM架构”:
SSM架构 展示
那么,现在本人就来讲解下上面两个架构持久层的区别
区别

  • Hibernate框架
    全自动
    (几乎可以不用写sql)
  • mybatis框架
  1. 半自动
    (sql还是需要自己写的)
  2. 提供了其他很多的功能

版权声明:本文为codderYouzg原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/codderYouzg/p/12759304.html