一、前言:
本博客中所有的概念,小编都尽可能转换成了自己的理解,精简了概念!尽可能精简的来表达!Spring Cloud微服务系列博客为什么要介绍Spring Boot呢?那是因为Spring Cloud和Spring Boot之间的关系~
暂用一句话描述两者间关系——Spring Boot是开发单个微服务的框架,Spring Cloud是管理运行的微服务之间的架构。 SpringBoot可以离开SpringCloud独立开发项目,但是SpringCloud离不开SpringBoot,属于依赖关系。
二、正文
1、Spring Boot本质?
是一个框架,用于构建微服务的基础框架(这里留一个问题:Spring Boot只是用于构建微服务的吗?)
( Spring Boot里没有使用任何让你意外的技术,完全是一个单纯的基于Spring的应用)
2、Spring Boot出现的宗旨?
Spring Boot的宗旨并非是要重写Spring或是替代Spring,而是希望通过设计大量的自动化配置等方式来简化Spring原有样板化的配置,使得开发者可以快速构建应用。
3、Spring Boot核心功能?
1)独立运行的Spring项目
Spring Boot可以以jar包的形式独立运行,运行一个Spring Boot项目只需通过java -jar xx.jar来运行。
2)内嵌Servlet容器
Spring Boot可选择内嵌的Tomcat,Jetty或者Undertow,这样我们无须以war包形式部署项目。
3)提供start简化Maven配置
Spring提供了一系列的starter pom来简化Maven的依赖加载,例如,当你使用了spring-boot-starter-web时时,会自动加入Web所示的依赖包。
4)自动配置Spring
Spring Boot会根据在类路径中的jar包,类,为jar包里的类自动配置Bean,这样会极大地减少我们要使用的配置。当然,SpringBoot只是考虑了大多数的开发场景,并不是所有的场景,若在实际开发中我们需要自动配置Bean,而Spring Boot没有提供支持,则可以自定义配置。
5)准生产的应用监控
Spring Boot提供基于http,ssh,telnet对运行的项目进行监控
6)无代码生成和xml配置
Spring Boot神奇的不是借助于代码生成来实现的,而是通过条件注解来实现的,这是Spring4.x提供的新特性,在前面的文章Spring4.x高级话题(四):条件注解@Conditional中有过简单的演示。
Spring Boot提倡使用Java配置和注解配置组合,而Spring Boot不需要任何xml配置即可 实现Spring的所有配置。
3、Spring Boot优点?
- 使用Java或Groovy开发基于Spring的应用程序非常容易。
- 它减少了大量的开发时间并提高了生产力。
- 它避免了编写大量的样板代码,注释和XML配置。
- Spring Boot应用程序与其Spring生态系统(如Spring JDBC,Spring ORM,Spring Data,Spring Security等)集成非常容易。
- 它遵循“自用默认配置”方法,以减少开发工作量。
- 它提供嵌入式HTTP服务器,如Tomcat,Jetty等,以开发和测试Web应用程序非常容易。
- 它提供CLI(命令行界面)工具从命令提示符,非常容易和快速地开发和测试Spring Boot(Java或Groovy)应用程序。
- 它提供了许多插件来开发和测试Spring启动应用程序非常容易使用构建工具,如Maven和Gradle。
- 它提供了许多插件,以便与嵌入式和内存数据库工作非常容易。
4、Spring Boot的限制:?
将现有或传统的Spring Framework项目转换为Spring Boot应用程序是一个非常困难和耗时的过程。它仅适用于全新Spring项目。