javaweb框架介绍

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

简而言之,框架其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统,或者说是使用别人搭好的舞台,你来做表演。框架一般是成熟的,不断升级的软件。

2.框架要解决的问题
框架要解决的最重要的一个问题是技术整合的问题,在JavaEE的 框架中,有着各种各样的技术,不同的软件企业需要从JavaEE中选择不同的技术,这就使得软件企业最终的应用依赖于这些技术,技术自身的复杂性和技术的风险性将会直接对应用造成冲击。而应用是软件企业的核心,是竞争力的关键所在,因此应该将应用自身的设计和具体的实现技术解耦。这样,软件企业的研发将集中在应用的设计上,而不是具体的技术实现,技术实现是应用的底层支撑,它不应该直接对应用产生影响。

3.软件开发的分层重要性
框架的重要性在于它实现了部分功能,并且能够很好的将低层应用平台和高层业务逻辑进行了缓和。为了实现软件工程中的“高内聚、低耦合”。把问题划分开来各个解决,易于控制,易于延展,易于分配资源。我们常见的MVC软件设计思想就是很好的分层思想。

通过分层更好的实现了各个部分的职责,在每一层将再细化出不同的框架,分别解决各层关注的问题。

4.分层开发下的常见框架
解决数据持久化问题的框架
Mybatis
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
作为持久层的框架,还有一个封装程度更高的框架就是Hibernate,但这个框架因为各种原因目前在国内的流行程度下降太多,现在公司开发也越来越少使用。目前Mybatis框架是主流,未来使用Spring Data来实现数据持久化也是一种趋势。

解决WEB层问题的框架
SpringMVC
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),Struts2(一般老项目使用)等。

解决技术整合问题的框架
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
◆目的:解决企业应用开发的复杂性
◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
◆范围:任何Java应用
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。

5.Mybatis框架概述
Mybatis是一个优秀的基于Java的持久层框架,它内部封装了Jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。
Mybatis通过xml或注解的方式将要执行的各种statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句,最后由Mybatis框架执行sql并将结果映射为java对象并返回。
采用ORM思想解决了实体和数据库映射的问题,对Jdbc进行了封装,屏蔽了Jdbc Api底层访问细节,使我们不用与Jdbc Api打交道,就可以完成对数据库的持久化操作。
为了我们能够更好掌握框架运行的内部过程,并且有更好的体验,下面我们将从自定义Mybatis框架开始来学习框架。此时我们将会体验框架从无到有的过程体验,也能够很好的综合前面阶段所学的基础。

javaweb框架介绍相关推荐

  1. JavaWeb框架(一):Web入门,Http的请求和响应,https介绍,Web实战自定义服务器

    Servlet入门 MVC实战项目 仓储管理系统 JavaWeb入门介绍 Http协议 Http请求数据格式 Http响应数据格式 Web实战Demo:自定义服务器 对比Https协议 总结 Redi ...

  2. java web netty_基于Netty的非Servlet规范 JavaWeb框架及高性能 Java服务器

    Bay 一个非Servlet规范的JavaWeb框架,包括一个基于Netty的高性能服务器. ##介绍 这是一个基于Netty实现的非Servlet规范的Web服务器,由于底层设计经验不足,所以实际上 ...

  3. ❤️六万字《SpringMVC框架介绍—从入门到高级》(建议收藏)❤️

    <SpringMVC框架介绍>(建议收藏) ❤️希望博友给个三连+关注!!! SSM: mybatis + Spring + SpringMVC MVC三层架构 SpringMVC + V ...

  4. 【代码审计-JAVA】基于javaweb框架开发的

    前言: 介绍: 博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章). 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edus ...

  5. 基于javaweb框架的springboot mybatis宠物商城源码含论文设计文档

    在互联网高速发展.信息技术步入人类生活的情况下,电子贸易也得到了空前发展.网购几乎成为了人人都会进行的活动.近几年来,养宠物更是成为人们生活中重要的娱乐内容之一, 人们越来越多的讲感情也寄托给了宠物, ...

  6. java目前主流框架_java的三大主流框架介绍

    <java的三大主流框架介绍>由会员分享,可在线阅读,更多相关<java的三大主流框架介绍(2页珍藏版)>请在装配图网上搜索. 1.java的三大主流框架介绍java的三大主流 ...

  7. java web框架struts,JavaWeb框架_Struts2_(五)-----Struts2的标签库

    1.Struts2的标签库 1.1 Struts2标签库概述 Struts2的标签库可以分为以下3类:用户界面标签.非用户界面标签.AJAX标签; 2.1.1 Struts2标签库的分类和使用 1.  ...

  8. python爬虫scrapy框架教程_Python爬虫教程-30-Scrapy 爬虫框架介绍

    从本篇开始学习 Scrapy 爬虫框架 Python爬虫教程-30-Scrapy 爬虫框架介绍 框架:框架就是对于相同的相似的部分,代码做到不出错,而我们就可以将注意力放到我们自己的部分了 常见爬虫框 ...

  9. 2019年上半年收集到的人工智能开源框架介绍文章

    2019年上半年收集到的人工智能开源框架介绍文章 TensorFlow基本使用 TensorFlow.js:让你在浏览器中也能玩转机器学习 人工智能学习框架TensorFlow渐近分析 TensorF ...

  10. ESFramework网络通信框架介绍之(2)――网络通信消息NetMessage

    ESFramework网络通信框架与元数据 较之C++而言,.NET是一个更加"动态"的平台,其动态能力建立在反射机制之上,而反射的基础是"元数据". 上文已经 ...

最新文章

  1. 广搜破解密码(HDU1195)
  2. 网络安全系列之九 WAF的基本配置
  3. nginx配合modsecurity实现WAF功能
  4. 实战SSM_O2O商铺_42【前端展示】店铺列表页面View层的实现
  5. python tensorflow pytorch 深度学习 车牌识别
  6. 全球及中国磁滑轮行业规模预测与供应规划研究报告2022版
  7. 中缀表达式生成二叉树
  8. 线上故障如何快速排查?来看这套技巧大全
  9. linux硬件抽象层框图,理解和使用Linux的硬件抽象层HAL.docx
  10. ecmall挂件开发
  11. 01:MongoDB基础
  12. 句句真研—每日长难句打卡Day16
  13. 为XHR对象所有方法和属性提供钩子 全局拦截AJAX
  14. IOS不支持2017-09-09的日期格式
  15. 如何在Pages for Mac中添加页眉、页脚和页码?
  16. cs231n学习(1)图像分类器:KNN和线性分类器(上)
  17. 解决InfoPath 2007表单的部署问题
  18. adb绕过夜神模拟器锁屏密码
  19. 信息论与编码-python实现三种编码(香农编码,费诺编码,赫夫曼编码)
  20. 集成一个以官网(微信,QQ,微博)为标准的登录分享功能

热门文章

  1. 多电平双向DC/DC直流变换器的工作原理(以三电平为例子)
  2. 原版Win7注入USB3.0驱动和NVME驱动教程
  3. 绝对值编码器 c语言,绝对式光电编码器
  4. 计算机打印机停止运行命令,打印机一直在打印应该怎样停止?
  5. chrome内核浏览器调用本地exe客户端
  6. spring集成sitemesh3
  7. WPF 程序加载PGIS性能问题
  8. Android 四大组件 -- service
  9. pip下载安装了第三方模块,Pycharm里面无法导入
  10. 笔记本电脑连接WIFI速度很慢-解决办法 亲测有效【5MB/S直达10MB/S】