Spring Boot 由来
随着技术一直在飞速发展,使用Spring开发Java EE应用开始变得越来越笨重。
在整合第三方框架时,会不断产生大量的 XML 配置文件,并且需要管理各种pom依赖之间的版本兼容问题,导致开发和部署效率降低。
所以产生了Spring Boot概念,Spring Boot并不是用来替代Spring的解决方案,它还是基于Spring框架的一种开发工具。
Spring Boot集成了大量常用的第三方库配置,在Spring Boot应用中使用这些第三方库几乎是零配置,开箱即用。
Spring Boot将常用的第三方框架封装成了一个个场景启动器,只需要在pom中依赖特定框架的启动器,会自动导入需要的依赖,依赖之间的版本兼容问题已解决,需要用到的对象也加载到了Spring容器中,使用时注入即可。
Spring Boot官网地址:https://spring.io/projects/spring-boot
官方构建Spring Boot应用:http://start.spring.io/
什么是微服务
微服务是一种应用架构风格(服务微化),区别于单体应用,是将一组微服务作为一个应用程序来开发,每个服务运行在自己的进程中,自己独立部署,每个微服务使用的技术可以不一样,服务间通常用HTTP通信。
微服务架构特征:
- 每个微服务独立运行在自己的进程中;
- 一些列独立运行的微服务共同构建了整个系统;
- 每个微服务都是一个独立的业务开发,只关注某个特定的功能,如用户管理;
- 微服务之间通过轻量级通信机制通信,如HTTP;
- 每个微服务使用的技术可以不一样;
- 每个微服务自己独立部署;
什么是Spring Boot:
是一种微服务的实现方式,Spring Boot是一个依赖版本管理中心。
spring-boot-starter-web:
spring-boot-starter:spring-boot场景启动器;帮我们导入了web模块正常运行所依赖的组件;
Spring Boot将所有的功能场景都抽取出来,做成一个个的starters(启动器),只需要在项目里面引入这些starter
相关场景的所有依赖都会导入进来。要用什么功能就导入什么场景的启动器。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter‐parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
<dependencies>
<!-- web依赖启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter‐web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<!‐‐ 这个插件,可以将应用打包成一个可执行的jar包;‐‐>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐maven‐plugin</artifactId>
</plugin>
</plugins>
</build>