文章目录

  • 四大核心Components
  • Spring Boot Starter
  • Spring Boot AutoConfigurator
  • Spring Boot CLI
  • Spring Boot Actuator


四大核心Components

  • Spring Boot Starters
  • Spring Boot AutoConfigurator
  • Spring Boot CLI(Command Line Interface)
  • Spring Boot Actuator

Spring Boot Starter

Spring Boot Starter的主要职责是将一组常见或相关的依赖项合并为单个依赖项。

例如:在Spring Boot 之前,我们需要构建一个Spring WebApplication with Tomcat WebServer。我们需要导入如下的jar包:

Spring core Jar file(spring-core-xx.jar)
Spring Web Jar file(spring-web-xx.jar)
Spring Web MVC Jar file(spring-webmvc-xx.jar)
Servlet Jar file(servlet-xx.jar)

你有没有觉得这样很繁琐,每次我们创建时总是需要同时导入这几个jar包,过多的依赖导致整个配置文件的代码过于臃肿。聪明的人肯定会想,为什么不能把这几个jar包合并为一个呢?其实,Spring Boot Starter 就是这样做的。

在Spring Boot中,如果我们同样需要构建一个 Spring WebApplication with Tomcat WebServer 。我们只需要导入spring-boot-starter-web jar包就够了。当我们添加 spring-boot-starter-webjar文件依赖时,Spring Boot 会自动帮我们下载构建Spring WebApplication with Tomcat WebServer 所需要的的jar包文件,并导入我们的项目。

springboot实现拓扑_java


优点

  • Spring Boot Starter减少了许多依赖项的定义,简化了项目构建依赖项。
  • Spring Boot Starter简化了项目构建依赖关系。

Spring Boot AutoConfigurator

  • Spring Boot自动配置

在传统的Spring开发中,我们大量的时间花在了Spring的配置文件中。开发基于Spring的应用程序需要大量配置(无论是注释配置的XML配置)”。我们希望,程序员能够把更多的时间放在业务代码开发上,而不是环境配置中。那么如何解决这个问题呢?Spring Boot AutoConfigurator就是解决这个问题的。如果我们在Spring Boot中开发Spring应用程序,那么我们不需要定义单个XML配置,几乎不需要或最少的注释配置。

  • 基于我们所添加的jar包依赖,去“猜测”你想要如何配置Spring。比如我们引入了spring-boot-starter-webjar包,而这个启动器中帮我们添加了tomcat、SpringMVC的依赖,此时AutoConfigurator就知道你是要开发一个web应用,所以就帮你完成了web及SpringMVC的默认配置了!
  • SpringBoot内部对大量的第三方库或Spring内部库进行了默认配置,这些配置是否生效,取决于我们是否引入了对应库所需的依赖。如果有那么默认配置就会生效,我们使用SpringBoot构建一个项目,只需要引入所需框架的依赖,配置就可以交给SpringBoot处理。

@SpringBootApplication = @Configuration + @ComponentScan + @EnableAutoConfiration.

Spring Boot启动的时候会通过@EnableAutoConfiguration注解找到META-INF/spring.factories配置文件中的所有自动配置类,并对其进行加载,而这些自动配置类都是以AutoConfiguration结尾来命名的,它实际上就是一个JavaConfig形式的Spring容器配置类,它能通过以Properties结尾命名的类中取得在全局配置文件中配置的属性如:server.port,而XxxxProperties类是通过@ConfigurationProperties注解与全局配置文件中对应的属性进行绑定的。

Spring Boot CLI

Spring Boot CLI(命令行接口)是一个Spring Boot 用于从命令提示符运行和测试应用程序的软件。

  • Spring Boot CLI 为Spring Cloud 提供了Spring Boot 命令行功能。你可以编写groovy脚本来运行Spring Cloud 组件应用程序(例如@enableurekaserver)。还可以轻松地执行加密和解密等操作,以支持具有机密配置值的 SpringCloud 配置客户端。使用启动器cli,您可以从命令行方便地同时启动诸如eureka、zipkin、config server等服务。

Spring Boot Actuator

Spring Boot Actuator可以帮助你监控和管理Spring Boot应用,比如健康检查、审计、统计和HTTP追踪等。所有的这些特性可以通过JMX或者HTTP endpoints来获得。

Spring Boot Actuator components gives many features, but two major features are:

  • Providing Management EndPoints to Spring Boot Applications.
  • Spring Boot Applications Metrics.

你知道的越多,你不知道的越多。
有道无术,术尚可求,有术无道,止于术。
如有其它问题,欢迎大家留言,我们一起讨论,一起学习,一起进步