目录

Spring Boot 特性一:更快速的构建能力

Spring Boot 特性二:起步依赖

Spring Boot 特性三:内嵌容器支持

Spring Boot 特性四:Actuator 监控


Spring Boot 本质上是 Spring 框架的延伸和扩展,它的诞生是为了简化 Spring 框架初始搭建以及开发的过程,使用它可以不再依赖 Spring 应用程序中的 XML 配置,为更快、更高效的开发 Spring 提供更加有力的支持。Spring Boot 具体的特性如下。


Spring Boot 特性一:更快速的构建能力

Spring Boot 提供了更多的 Starters 用于快速构建业务框架,Starters 可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成 Spring 及其他技术,而不需要到处找依赖包。

当我们添加了 Starter 模块支持之后,在项目的构建期,它就会把所有其他依赖项将自动添加到项目中。


Spring Boot 特性二:起步依赖

Spring Boot 提供了起步依赖,也就是在创建 Spring Boot 时可以直接勾选依赖模块,这样在项目初始化时就会把相关依赖直接添加到项目中,大大缩短了查询并添加依赖的时间,如下图所示:


Spring Boot 特性三:内嵌容器支持

Spring Boot 内嵌了 Tomcat、Jetty、Undertow 三种容器,其默认嵌入的容器是 Tomcat,这个在我们启动 Spring Boot 项目的时候,在控制台上就能看到,具体信息如下:

o.s.b.w.embedded.tomcat.TomcatWebServer :Tomcat started on port(s): 8080 (http) with context path

可以看出 Spring Boot 默认使用的是 Tomcat 容器启动的。


Spring Boot 特性四:Actuator 监控

Spring Boot 自带了 Actuator 监控功能,主要用于提供对应用程序监控,以及控制的能力,比如监控应用程序的运行状况,或者内存、线程池、Http 请求统计等,同时还提供了关闭应用程序等功能。

在POM引入actuator的依赖:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

Actuator 提供的接口:

路径描述
/auditevents显示当前应用程序的审计事件信息
/beans显示一个应用中所有Spring Beans的完整列表
/conditions显示配置类和自动配置类(configuration and auto-configuration classes)的状态及它们被应用或未被应用的原因
/configprops显示一个所有@ConfigurationProperties的集合列表
/env显示来自Spring的 ConfigurableEnvironment的属性
/flyway显示数据库迁移路径,如果有的话
/health显示应用的健康信息(当使用一个未认证连接访问时显示一个简单的’status’,使用认证连接访问则显示全部信息详情)
/info显示任意的应用信息
/liquibase展示任何Liquibase数据库迁移路径,如果有的话
/metrics展示当前应用的metrics信息,其中包括系统CPU负载、内存、JVM、Tomcat等指标信息
/mappings显示一个所有@RequestMapping路径的集合列表
/scheduledtasks显示应用程序中的计划任务
/sessions允许从Spring会话支持的会话存储中检索和删除(retrieval and deletion)用户会话。使用Spring Session对反应性Web应用程序的支持时不可用。
/shutdown允许应用以优雅的方式关闭(默认情况下不启用)
/threaddump执行一个线程dump

默认情况下,只有health和info是对web端暴露的,启动服务后可以通过:http://localhost:8081/actuator/health  来查看服务端的健康状态。

如果想要开放其它接口,可以通过修改配置来实现:

#开放全部接口
management:
  endpoints:
    web:
      exposure:
        include: '*'

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐