通过前面的文章,我们了解到了Spring、Spring Boot框架都是为Java企业级开发提供了一个基础框架,我们可以通过这个基础框架去整合其他的框架来实现我们具体的业务功能。
在网站上搜索一下,Spring Boot整合某某框架就会出现大量的教程,但是总会有一天你会遇到一个你没有教程的框架需要你去整合,这就是程序员与高级开发的区别了。所以我们要深入地掌握如何去整合这些框架,而不是追求我们能将某个框架会用就可以了。这一篇文章我就来带着大家一起学习一下Spring Boot整合其他框架的那些一成不变的东西吧。
场景启动器starter
在前面的文章中我们提到过一个概念,这个概念也是贯穿了我们整个的Spring Boot的概念,那就是场景启动器,也就是前面提到的starter的概念。有了这个概念,我们理解下面这些内容也就容易多了。
在之前的时候我们提到过,Spring Boot提供了各种场景的整合例如数据库的整合、ORM的整合、消息的整合、中间件的整合,既然提供了这么多的整合场景,那就不得不提到这些场景的场景启动器了。
之前在学习日志相关的内容的时候我们提到过一个日志的启动器,
spring-boot-logging-stater。由于这个场景启动器是包括在其他的启动器中的,这里我们拿一个独立的场景来说事。例如在我们开发中经常会引入到的数据库ORM场景。这个时候我们采用的是MyBatis作为ORM的框架。那我们就需要引入如下的一个场景启动器。
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.2</version>
</dependency>
注意这里需要说明的就是我们这里的版本只是用来演示的,在实际开发中需要根据自己的需求来选择不同的版本。会看到它是由MyBatis提供的。为什么这样做呢?从侧面也反映出来Spring Boot 确实是一个不错的框架,不然为什么MyBatis会提供这样一个场景启动器来让大家使用呢?
条件注入
前面的文章中我们刚刚提到的条件注入相关的内容。从@Conditional注解开始引申出了各种的条件注解都是以@Con