暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SpringBoot 入门系列01-Spring三巨头的秘密

弥之猫 2020-10-31
272

点击上方蓝字关注我们


SpringBoot 入门系列-01
Spring三巨头的秘密


01

   Spring Boot介绍   

 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工程的搭建了。


02

   Spring Cloud与Spring Cloud Alibaba  

Spring Cloud 是什么?

是一系列框架的有序集合,它利用 Spring Boot 的开发便利性简化了分布式系统的开发,比如服务发现、服务网关、服务路由、链路追踪等。Spring Cloud 并不重复造轮子,而是将市面上开发得比较好的模块集成进去,进行封装,从而减少了各模块的开发成本。换句话说:Spring Cloud 提供了构建分布式系统所需的“全家桶”。

Spring Cloud Alibaba是什么?

是基于Spring Cloud,符合Spring Cloud标准,是阿里的微服务解决方案,只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。

这么一解释就发现这两门技术就没啥特殊的了,可以理解为SpringBoot的衍生。


03

Spring Cloud与Spring Cloud Alibaba

常用组件

在讨论这个问题之前,先看一张图。

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

文章转载自弥之猫,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论