当前位置: 首页 > news >正文

Java今年最流行的三大框架你应该学习了

一.springmvc框架
简介:Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。

优点:

1.调理清晰,控制器(controller)、验证器(validator)、命令对象(command obect)、表单对象(form object)、模型对象(model object)、Servlet分发器(DispatcherServlet)、处理器映射(handler mapping)、试图解析器(view resoler)等等,让你学习时能层次分明。

2、分工明确,而且扩展点相当灵活,可以很容易扩展,虽然几乎不需要;

3、由于命令对象就是一个POJO,无需继承框架特定API,可以使用命令对象直接作为业务对象;

4、和Spring 其他框架无缝集成,是其它Web框架所不具备的;

5、可适配,通过HandlerAdapter可以支持任意的类作为处理器;

6、可定制性,HandlerMapping、ViewResolver等能够非常简单的定制;

7、功能强大的数据验证、格式化、绑定机制;

8、利用Spring提供的Mock对象能够非常简单的进行Web层单元测试;

9、本地化、主题的解析的支持,使我们更容易进行国际化和主题的切换。

10、强大的JSP标签库,使JSP编写更容易。

二.spring框架
简介:

Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。

优点:

轻量级的容器框架,没有侵入性

IoC更加容易组合对象之间的关系,通过面向接口进行编程,可以低耦合开发。

易于本地测试(Junit单元测试,不用部署服务器)

AOP可以更加容易的进行功能扩展,遵循OCP开发原则。

Spring默认对象的创建为单例的,我们不需要再使用单例的设计模式来开发单体类。

Spring的集成很强大,另外可以对其他框架的配置进行一元化管理。

Spring的声明式事务的方便使用。

三.mybatis框架
简介:

MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录。

优点:

sql写在xml里,便于统一管理和优化。

解除sql与程序代码的耦合。

提供映射标签,支持对象与数据库的orm字段关系映射

提供对象关系映射标签,支持对象关系组建维护

提供xml标签,支持编写动态sql

转载于:https://blog.51cto.com/14084567/2340817

相关文章:

  • JSON数组,JSON对象,数组的区别与基本操作整理
  • 阿里云全球19个地域节点,哪个节点的服务器好,速度快?
  • 回顾2017:基础设施支出增长 思科占主导地位
  • 微服务入门【系列视频课程】
  • mongodb集群模式(主从模式,副本集模式,分片模式)
  • 透彻影像王书浩:三易其辙与功不唐捐
  • 如何使用 Spinnaker 和 Kubernetes 进行数据库变更发布
  • 为什么需要模版成员方法
  • W3C官方推荐使用新发布的HTML5.2
  • Lintcode: Minimum Subarray 解题报告
  • laravel ORM get() first()
  • h5 扫描二维码打开app和点击下载功能的实现
  • 云时代重新定义主机安全:自动化安全闭环是核心
  • C#利用HttpWebRequest进行post请求的示例(HTTPS)
  • windows中结束线程的方式
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • CentOS6 编译安装 redis-3.2.3
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • Java 内存分配及垃圾回收机制初探
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • 百度小程序遇到的问题
  • 前端临床手札——文件上传
  • 实战|智能家居行业移动应用性能分析
  • 数据科学 第 3 章 11 字符串处理
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 通过几道题目学习二叉搜索树
  • 阿里云服务器购买完整流程
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • (C语言)fgets与fputs函数详解
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (第61天)多租户架构(CDB/PDB)
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • .net CHARTING图表控件下载地址
  • .NET DataGridView数据绑定说明
  • .NET Micro Framework初体验(二)
  • .NET MVC之AOP
  • .Net Remoting常用部署结构
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .NET业务框架的构建
  • .Net中ListT 泛型转成DataTable、DataSet
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国
  • @RequestParam,@RequestBody和@PathVariable 区别
  • []error LNK2001: unresolved external symbol _m
  • [ANT] 项目中应用ANT
  • [C++]:for循环for(int num : nums)
  • [CLickhouse] 学习小计