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框架,对于初学者而言是非常好的。其他优点可以概括为:
- SpringMVC可以支持各种试图技术,而不仅仅局限于JSP;
- 与Spring框架集成(如IoC容器、AOP等);
- 清晰的角色分配:前端控制器(dispatcherServlet) , 请求到处理器映射(handlerMapping), 处理器适配器(HandlerAdapter), 视图解析器(ViewResolver);
- 支持各种请求资源的映射策略;
SpringMVC的主要组件有什么?
- 前端控制器 DispatcherServlet。接收请求、响应结果,相当于转发器,有了DispatcherServlet 就减少了其它组件之间的耦合度。
- 处理器映射器HandlerMapping。根据请求的URL来查找Handler。
- 处理器适配器HandlerAdapter。在编写Handler的时候要按照HandlerAdapter要求的规则去编写,这样适配器HandlerAdapter才可以正确的去执行Handler。
- 处理器Handler。编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler。
- 视图解析器 ViewResolver。进行视图的解析,根据视图逻辑名解析成真正的视图(view)。
- 视图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进阶资料包括并发编程、JVM调优、SSM、设计模式、spring等知识技术、阿里面试题精编汇总、常见源码分析等录播视频免费分享出来,需要领取的麻烦点这里自行下载或者是添加QQ1404119194,备注csdn