欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java框架都有哪些(web前端三大主流框架)

程序员文章站 2022-03-07 19:33:13
java ssm框架即指spring+springmvc+mybatis的简称,框架集由spring、mybatis两个开源框架整合而成(springmvc是spring中的部分内容),常作为数据源较...
java框架都有哪些(web前端三大主流框架)

java ssm框架即指spring+springmvc+mybatis的简称,框架集由spring、mybatis两个开源框架整合而成(springmvc是spring中的部分内容),常作为数据源较简单的web项目的框架。

相比于之前的ssh(spring+struts+hibernate),ssm更加轻量化和灵活,是目前业界主流的java web开发框架。

spring

spring框架是一系列应用框架的核心,是整合其他应用框架的基础。也是spring boot的基础,spring框架里面包含了spring、springmvc、srpingtest等。

spring的优点总结:

1、非侵入式设计

spring是一种非侵入式(non-invasive)框架,它可以使应用程序代码对框架的依赖最小化。

2、 方便解耦、简化开发

spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给spring容器管理,大大的降低了组件之间的耦合性。

3、支持aop

spring提供了对aop的支持,它允许将一些通用任务,如安全、事务、日志等进行集中式处理,从而提高了程序的复用性。

4、支持声明式事务处理

只需要通过配置就可以完成对事务的管理,而无需手动编程。

5、方便程序的测试

spring提供了对junit4的支持,可以通过注解方便的测试spring程序。

6、方便集成各种优秀框架

spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:struts、hibernate、mybatis、quartz等)的直接支持。

7、降低java ee api的使用难度

spring对java ee开发中非常难用的一些api(如:jdbc、javamail等),都提供了封装,使这些api应用难度大大降低。

spring mvc

springmvc有什么优点?

springmvc是spring框架的一个模块,是基于mvc的轻量级web框架。spring是目前web开发中的一个很重要的部分。尤其在企业招聘相关开发者的时候,有大量的笔试和面试题目都与springmvc有关。

springmvc是一个典型教科书式的mvc框架,对于初学者而言是非常好的。其他优点可以概括为:

  1. springmvc可以支持各种试图技术,而不仅仅局限于jsp;
  2. 与spring框架集成(如ioc容器、aop等);
  3. 清晰的角色分配:前端控制器(dispatcherservlet) , 请求到处理器映射(handlermapping), 处理器适配器(handleradapter), 视图解析器(viewresolver);
  4. 支持各种请求资源的映射策略;

springmvc的主要组件有什么?

  1. 前端控制器 dispatcherservlet。接收请求、响应结果,相当于转发器,有了dispatcherservlet 就减少了其它组件之间的耦合度。
  2. 处理器映射器handlermapping。根据请求的url来查找handler。
  3. 处理器适配器handleradapter。在编写handler的时候要按照handleradapter要求的规则去编写,这样适配器handleradapter才可以正确的去执行handler。
  4. 处理器handler。编写handler时按照handleradapter的要求去做,这样适配器才可以去正确执行handler。
  5. 视图解析器 viewresolver。进行视图的解析,根据视图逻辑名解析成真正的视图(view)。
  6. 视图view。view是一个接口, 它的实现类支持不同的视图类型(jsp,freemarker,pdf等等)。

mybatis

mybatis是一个基于java的持久层框架,所谓的持久层框架就是专门用来将数据进行持久化的框架,也就是说将数据存储到数据库中的框架。学习并掌握mybatis,首先就要了解mybatis的核心组件。

mybatis是半自动orm映射工具,可以自定义高效的sql语句提升数据库访问的效率。mybatis是半自动的原因是因为我们要在mapper文件中手写sql语句,全自动的orm(如hibernate)是不需要手写sql的。mybatis可以自定义高效的sql语句提升数据库访问的效率;而且mybatis容易掌握,而hibernate门槛较高。所以我们用mybatis代替传统的hibernate。