Java中的SSM框架详解(java框架ssh和ssm百度)

createh53个月前 (02-01)技术教程30

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。

相关文章

Java高级工程师学习线路总结:Java Web开发

  目前,国内外信息化建设已经进入基于Web应用为核心的阶段,Java作为应用于网络的最好语言,前景无限看好。然而,就算用Java建造一个不是很烦琐的web应用,也不是件轻松的事情。那么,具备Java...

如果通过Java来完成大数据开发,需要学习哪些内容

首先,当前大数据领域的开发岗位确实比较多,近两年有不少大数据方向的研究生也会从事大数据开发岗位,而Java语言则是大数据开发人员的常用工具,所以如果要从事大数据开发岗位,可以重点学习一下Java语言。...

Web 开发项目的6个最佳Java框架(web开发主流框架)

Spring 也是开源轻量级的IOC和AOP的容器框架1.IOC(Inverse of Control)控制反转是Spring的核心模块。(面向接口的编程)2.AOP(Aspect-Oriented...

基于Java,jfinal web框架开发出微信商城,微信分销商城源码分享

项目简介:专门针对微信服务号开发的一套微信商城,微信分销商城,支持商品多规格,支持按地区设置邮费,支持限时打折,订单返现,满减送,满包邮,支持订单打印,订单打印模板自定义,发货单打印,发货单打印模板自...

系统学习Java开发,需要学哪些内容?

Java开发需要学习哪些内容?我们需要回到问题本质,了解企业现在对java开发工程师的岗位要求是什么?现在各大厂对于java开发工程师的要求,不论大公司还是小公司,都要求必须掌握3方面技术:一、Jav...

「offerMe——刷题必备」java如何实现开根号的运算

原文链接:https://mp.weixin.qq.com/s/H2EY2Bi5KcTbC15F9M9KMg今天我们来看一下这道题,java如何实现开根号的运算。大家都知道,java,c++,pyth...