
点击上方蓝字关注我们


SpringBoot是什么呢?
简单的理解一下,Spring Boot 简化了基于Spring的应用开发,只需要“run”就能创建一个独立的、生产级别的Spring应用。
Spring Boot为Spring平台及第三方库提供开箱即用的设置(提供默认设置),这样我们就可以简单的开始。多数Spring Boot应用只需要很少的Spring配置。简而言之,言而简之,就是大幅度优化了Spring带来的XML配置、注解配置、JAVA配置问题。







SpringBoot父级Maven配置是什么?
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.9.RELEASE</version>
<relativePath/>
</parent>
spring-boot-starter-parent是一个特殊的starter,提供了springboot统一的依赖管理和插件管理。使用它之后,常用的包依赖可以省去version标签。本质上是继承了spring-boot-dependencies(通过标签dependencyManagement管理依赖声明)。







SpringBoot常用的maven依赖有哪些?
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
spring-boot-starter很重要,但是一般不用引,会在其他包里面被引用。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
spring-boot-starter-web默认为我们提供一些SpringMVC必要的组件:
1)必要的ViewResolver,比如ContentNegotiatingViewResolver和BeanNameViewResolver。
2)必要的Converter,GenericConverter和Formatter等bean注册到IOC容器。
3)添加一系列的HttpMessageConverter以便支持对web请求和相应的类型转换。
4)spring-boot-starter-web默认使用嵌入式的tomcat作为web容器对外提供HTTP服务。
5)spring-boot-starter-web提供了很多以server.为前缀的配置项用于对嵌入式Web容器提供配置,比如:server.port,server.address,server.ssl.*,server.tomcat.*。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
spring-boot-starter-actuator模块是一个spring提供的监控模块。我们在开运行发过程中,需要实时和定时监控服务的各项状态和可用性。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
spring-boot-starter-websocket模块是springboot集成的webSocket。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency
一般来说,我们只要引入Spring框架中AOP的相应依赖就可以直接使用 Spring 的 AOP 支持了,不过,为了进一步为大家使用 SpringAOP 提供便利,SpringBoot 还是“不厌其烦”地为我们提供了一个 spring-boot-starter-aop 自动配置模块。







SpringBoot可选的Maven依赖有哪些?
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
spring-boot-starter-mail模块是springboot集成邮件功能。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
spring-boot-starter-mail模块是springboot集成测试功能。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
spring-boot-starter-freemarker集成freemarker需要的依赖。
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
mybatis-spring-boot-starter集成mybaits相关的依赖。
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
</dependency>
druid-spring-boot-starte集成Druid连接池相关依赖。
知道上述这些基本可以完成一个SpringBoot工程的搭建了。

Spring Cloud 是什么?
是一系列框架的有序集合,它利用 Spring Boot 的开发便利性简化了分布式系统的开发,比如服务发现、服务网关、服务路由、链路追踪等。Spring Cloud 并不重复造轮子,而是将市面上开发得比较好的模块集成进去,进行封装,从而减少了各模块的开发成本。换句话说:Spring Cloud 提供了构建分布式系统所需的“全家桶”。
Spring Cloud Alibaba是什么?
是基于Spring Cloud,符合Spring Cloud标准,是阿里的微服务解决方案,只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。
这么一解释就发现这两门技术就没啥特殊的了,可以理解为SpringBoot的衍生。
Spring Cloud与Spring Cloud Alibaba
常用组件
在讨论这个问题之前,先看一张图。


这张图包含了常用的微服务,有注册中心、配置中心的搭建,也有服务网关的搭建。结合自己的一些学习调查,也给了初学者相关的建议,都可以去学习,但是首次使用的话可以参考上图。对于如何去建立使用各个工程,就留在后续慢慢分说。




