在实际的开发工作中,大部分项目都是基于框架来开发的。常见的Java 应用框架有 Spring,SpringMVC, SpringBoot, SpringCloud等。
在传统的Java项目中,通过Java框架与一些ORM框架,前端框架的组合,形成了一个Java项目的最基本的技术框架。框架之所以流行,在于其易复用和简化开发。常见的框架有:
SSH
SSH框架是JAVA EE中三种框架所集成,分别是Struts,Spring,Hibernate框架所组成。
集成SSH框架的系统从职责上分为(Struts2--控制;Spring--解耦;Hibernate--操作数据库),以帮助开发人员在短期内搭建结构清晰、可服用好、维护方便的web应用程序。
使用Struts作为系统的整体基础框架,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理Struts和Hibernate。
SSM
SSM框架,是三层结合所成的框架,分别是,Spring,SpringMVC,MyBatis所组成。
SpringMVC:它用于web层,相当于controller(等价于传统的servlet和struts的action),用来处理用户请求。
Spring依赖注入来管理各层,面向切面编程管理事务,日志和权限。
Mybatis是基于jdbc的框架,主要用来操作数据库,并且将业务实体和数据表联系起来。
Spring Boot
SpringBoot 是一个全新框架,使用来简化Spring的初始搭建和开发过程,使用了特定的方式来进配置,让开发人员不在需要定义样板化的配置。 Spring boot 看名字就知道是Spring的引导,就是用于启动Spring的,使得Spring的学习和使用变得快速无痛。不仅适合替换原有的工程结构,更适合微服务开发。此框架不需要配置xml,依赖于像MAVEN这样的自动化构建工具来初始化项目。
SpringCloud
Spring Cloud是一个基于Spring Boot实现的云应用开发工具,为微服务体系开发中的架构问题,提供了一整套的解决方案,包括:服务注册与发现,服务消费,服务保护与熔断,网关,分布式调用追踪,分布式配置管理等。
Spring boot专注于快速、方便集成的单个个体,Spring Cloud是关注全局的服务治理框架;springBoot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置,Spring Cloud很大的一部分是基于Spring boot来实现。
一、SSM优缺点应该分开来说的,比如
1)spring 不说了,核心ioc、aop技术,ioc解耦,使得代码复用,可维护性大幅度提升,aop提供切面编程,同样的增强了生产力。
2)spring mvc嘛,是对比struts2等mvc框架来说的,不说struts2爆出的那么多安全漏洞,而且是类拦截,所有Action变量共享,同时是filter入口的,而spring mvc是方法拦截,controller独享request response数据,采用的serlvet入口,与spring无缝对接。开发而言,spring mvc更加轻量和低入门。
3)mybatis嘛,看业务场景,主要是mybatis的sql可以由开发者去掌控和调优,相对hibernate等orm框架来说,更加直观。在业务场景比较复杂,sql好多联合关联的情况下,mybatis谁用谁知道。当然缺点就是对sql不熟悉的开发者就不太友好了。
二、 SSM框架和spring boot全家桶相比有哪些优缺点?
这两者对比起来有点奇怪。因为SSM是WEB应用框架,涵盖整个应用层,而spring boot你可以看做一个启动、配置、快速开发的辅助框架,本身针对的是微服务。springboot 只是为了提高开发效率,是为了提升生产力的:
1、springboot一个应用是一个可执行jar(启动类main方法启动web应用),而不像传统的war,内嵌tomcat容器,可以jar形式启动一个服务,可以快速部署发布web服务,微服务最好不过了。
2、将原有的xml配置,简化为java配置
3、当然结构可能跟一般的ssm有一定区别,但其实主要是在资源文件。
Spring Boot 默认“约定”从资源目录的这些子目录读取静态资源:
- src/main/resources/META-INF/resources
- src/main/resources/static (推荐)
- src/main/resources/public
SSM.SSH与SpringBoot的区别
SSM 与 SSH 均是基于Spring开发。基于Spring开发有一下特点:
- 依赖太多了,而且要注意版本兼容。一个应用,要添加10-20个依赖,Spring相关的包10多个,然后是Hibernate包,Spring与Hibernate整合包,日志包,json包一堆,而且要注意版本兼容性。
- **配置太多了,**要配置注解驱动,要配置数据库连接池,要配置Hibernate,要配置事务管理器,要配置Spring MVC的资源映射,要在web.xml中配置启动Spring和Spring MVC等
- 部署和运行麻烦。要部署到tomcat里面。不能直接用java命令运行。
为了解决上述痛点,SpringBoot诞生了。SpringBoot框架有如下特点:
- 通过starter和依赖管理解决依赖问题。
- 通过自动配置,解决配置复杂问题。
- 通过内嵌web容器,由应用启动tomcat,而不是tomcat启动应用,来解决部署运行问题。
因此在项目中,为了加快项目的开发效率,简化开发流程,公司中大部分新的项目是基于SpringBoot 来开发的。学习SpringBoot,主要是学习其自动配置的原理,以及相关场景启动器 与 默认的版本管理等。
https://www.cnblogs.com/wwct/p/12942781.html文章来源:https://www.toymoban.com/news/detail-477332.html
什么是SSM框架?有哪些组成部分?文章来源地址https://www.toymoban.com/news/detail-477332.html
到了这里,关于SSH, SSM 与 Spring Boot, SpringCloud的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!