SpringBoot与Spring的区别
目录Spring Boot 特性一:更快速的构建能力Spring Boot 特性二:起步依赖Spring Boot 特性三:内嵌容器支持Spring Boot 特性四:Actuator 监控Spring Boot 本质上是 Spring 框架的延伸和扩展,它的诞生是为了简化 Spring 框架初始搭建以及开发的过程,使用它可以不再依赖 Spring 应用程序中的 XML 配置,为更快、更高效的开发
目录
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: '*'
更多推荐
所有评论(0)