SSM框架
SSM框架,即Spring、MyBatis和Spring MVC的集成框架,广泛应用于企业级Java Web应用开发。选择SSM框架的主要原因在于其模块化的特性、丰富的功能和强大的集成能力,能够高效地构建复杂的应用系统。
SSM框架程序可以使用Maven管理,其目录结构与Maven项目的web应用程序目录结构一致。

- pom.xml:核心配置文件,它定义了应用程序的结构、依赖关系和构建过程。
- src/main/java:应用程序源代码目录。
- src/main/resources:配置文件目录,例如数据库连接配置文件。
- src/main/webapp:静态资源目录,例如页面、图片、样式表等。
SpringBoot框架
Spring框架是一个开源的Java平台应用程序开发框架,专为构建企业级和Web应用程序而设计。而SpringBoot是一个基于Spring框架的快速开发框架,相对于Spring框架,SpringBoot的自动化配置、嵌入式Web容器、便捷的依赖管理等优势,可以帮助开发人员轻松地构建高质量的Web应用程序。
SpringBoot单体应用
SpringBoot应用程序也可以使用Maven进行管理,其目录结构与Maven项目的Java应用程序目录结构一致。

- pom.xml:核心配置文件,它定义了应用程序的结构、依赖关系和构建过程。
- src/main/java:应用程序源代码目录。
- src/test/java:测试代码目录。
与Maven项目不同的是,SpringBoot应用有一个称为main的入口方法,它是整个程序执行的起点。

另一个不同点是SpringBoot应用在resource目录下有一个名为application.properties或application.yml的配置文件,配置文件中的属性名与值都有固定写法。
• application.properties采用“属性名=属性值”的写法,等号两边不能有空格。

• application.yml采用缩进方式,使用“属性名: 属性值”的写法,属性名的分号后有空格。

SpringBoot多模块应用
一个SpringBoot多模块应用包含多个单体应用,以及多个单体应用的共享模块,其中共享模块只为其它单体应用提供依赖,没有main入口方法,不能独立运行。

SpringCloud框架
Spring Cloud是一套构建在SpringBoot之上的开源微服务架构,它提供了一系列工具和框架,用于帮助开发者快速构建和部署微服务应用。

Spring Cloud 的核心组件包括:
- 服务注册与发现:通过Eureka、Nacos、Zookeeper等服务注册与发现中心,实现服务的自动注册和发现。
- 负载均衡:通过Ribbon、LoadBalancer等组件实现负载均衡,将请求分发到不同的实例中,实现高可用和性能优化。
- 服务网关:通过Zuul或Gateway等网关组件,实现请求的统一路由、过滤、熔断等功能。
- 配置中心:通过Spring Cloud Config、Nacos实现配置的集中管理和动态刷新。
- 服务熔断:通过Hystrix、Sentinel等熔断器组件控制服务的API接口的熔断来转移故障,防止微服务系统发生雪崩效应;另外Hystrix能够起到服务限流和服务降级的作用。
- 服务调用:通过OpenFeign可以轻松实现服务间接口调用,OpenFeign是一个声明式的HTTP客户端。
- 消息总线:通过Spring Cloud Bus实现微服务之间的消息通信和状态同步。
- 分布式链路追踪:通过Zipkin或SkyWalking等链路追踪组件,实现分布式系统中请求的跟踪和分析。
- 分布式锁和限流:通过 Redis、Zookeeper等组件实现分布式锁和限流等功能。