(各种搬砖整合理解用于自己理解学习,有问题请指出,谢谢,一直补充中)
目录
一.Spring
1.Spring是什么
Spring是一个轻量级的Java框架,它的目的是用于简化企业级应用程序开发。帮助我们创建对象并且管理这些对象之间的依赖关系 。
2.Spring框架的优点
1.Spring是一种非侵入式框架,它可以使应用程序代码对框架的依赖最小化。
[非侵入式:允许在引用系统中自由选择和组装Spring框架的各个功能模块,并且不强制要求应用系统的类必须从Spring框架的系统API的某个类来继承或者实现某个接口]
2.Spring将所有对象的创建和依赖关系的维护工作都交给了Spring容器管理(控制反转),大大降低了组件之间的耦合。
3.支持Aop。
4.提供了事物的支持。
5.方便测试,方便集成各种优秀的框架。如Struts,MyBatis。
二.Spring Mvc
1.Spring MVC是什么
SpringMvc是Spring的一个模块,基于MVC的一个框架,是SpringFramework提供的Web组件
2.工作流程(待理解)
- 客户端请求被DispatcherServlet接收
- 根据HandlerMapping映射到Handler
- 生成Handler和HandlerInterceptor
3.核心组件(待理解)
- DispatcherServlet:
- Handler:
- HandlerMapping:
- HandlerInterceptor:
三.SpringBoot
1.SpringBoot是什么
由于Spring越来越复杂。如果必须启动一个新的Spring项目,我们必须添加构建路径或添加Maven依赖关系,配置应用程序服务器,添加spring配置,需要做很多工作。SpringBoot为了解决以上的问题。它建立在现有的Spring框架之上。使用spring启动,简化了开发配置工作,减少的工作量。
减少开发、测试时间;使用JavaConfig有助于避免使用XML;避免大量的Maven导入和各种版本冲突;通过提供默认值快速开始开发;没有单独的web服务器需要,不再需要启动tomcat或其他东西。
四.SpringCloud
1.SpringCloud是什么
用于分布式微服务项目。是基于SpringBoot的Spring集成应用程序。
2.SpringCloud-alibaba核心组件
(1)服务注册与发现 :nacos
(2)配置中心:nacos
(3)服务远程调用:openfeign
(4)微服务网关:gateway
(5)服务限流降级熔断:ssentinel
3.SpringCloud使用
SpringCloud 是一系列框架的有序集合,它利用springboot的开发便利性简化了分布式系统基础设施的开发,如服务发现注册,配置中心等,都可以用spring boot 的开发风格做到一键启动部署?
(1)一键启动部署
在搭项目时,服务注册发现和配置中并不是真的“一键”启动部署的。
SpringCloud Alibaba-Nacos 作为注册中心和配置中心。
1)注册中心
- 下载nacos-server
- https://github.com/alibaba/nacos/release
- 启动nacos-server
- 修改pom.xml文件,引入Nacos Discovery Starter
- application.properties(application.yml)配置文件中配置Nacos Server地址
- spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
- 使用@EnableDiscoveryClient注解开启服务注册与发现功能
- 配置文件中添加spring.application.name= 模块名
- 启动测试,nacos服务管理中显示