1. Spring Boot 中 Actuator 有什么作用?
本质上Actuator通过启用production-ready功能使得SpringBoot应用程序变得更有生命力。这些功能允许对生产环境中的应用程序进行监视和管理。
集成SpringBoot Actuator到项目中非常简单。只需要做的是将spring-boot-starter-actuator starter引入到POM.xml文件当中:
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
SpringBoot Actuaor可以使用HTTP或者JMX endpoints来浏览操作信息。大多数应用程序都是用HTTP,作为endpoint的标识以及使用/actuator前缀作为URL路径。
一些常用的内置endpoints Actuator:
auditevents:查看 audit 事件信息 env:查看 环境变量 health:查看应用程序健康信息 httptrace:展示 HTTP 路径信息 info:展示 arbitrary 应用信息 metrics:展示 metrics 信息 loggers:显示并修改应用程序中日志器的配置 mappings:展示所有 @RequestMapping 路径信息 scheduledtasks:展示应用程序中的定时任务信息 threaddump:执行 Thread Dump
2. Spring Boot 有什么外部配置的可能来源?
SpringBoot对外部配置提供了支持,允许在不同环境中运行相同的应用。可以使用properties文件、YAML文件、环境变量、系统参数和命令行选项参数来声明配置属性。
然后可以通过@Value这个通过@ConfigurationProperties绑定的对象的注解或者实现Enviroment来访问这些属性。
以下是最常用的外部配置来源:
命令行属性: 命令行选项参数是以双连字符(例如,=)开头的程序参数,例如–server.port=8080。SpringBoot将所有参数转换为属性并且添加到环境属性当中。
应用属性: 应用属性是指那些从application.properties文件或者其YAML副本中获得的属性。默认情况下,SpringBoot会从当前目录、classpath根目录或者它们自身的config子目录下搜索该文件。
特定profile配置: 特殊概要配置是从application-{profile}.properties文件或者自身的YAML副本。{profile}占位符引用一个在用的profile。这些文件与非特定配置文件位于相同的位置,并且优先于它们。
3. Spring Boot 支持松绑定表示什么含义?
SpringBoot中的松绑定适用于配置属性的类型安全绑定。使用松绑定&#