1.读取配置文件内容
springboot读取配置文件内容有两种一种为在属性上使用@value
注解注解参数为配置文件的内容,一种为在类上添加注解@ConfigurationProperties(prefix = "配置文件的属性前缀")
,并在实体类中创建与配置文件的属性同名的属性.
yml配置文件如下
application:
name: configurationFile
version: 1.0.0
developer:
name: dev环境
website: https://www.yuque.com/yiquanchaoren-dvwhg/javassm/hmcl1d/edit
qq: 318705208
- 使用
@value
注解
使用value注解将配置文件中的内容与类中属性进行绑定.
@Data
@Component
public class ApplicationProperty {
@Value("${application.name}")
private String name;
@Value("${application.version}")
private String version;
}
- 使用
@ConfigurationProperties
注解
使用@ConfigurationProperties
注解将会使配置文件中此注解参数prefix
为前缀的内容与类中同名属性进行绑定,若类中属性名与配置文件中内容名称不同,启动项目将会报错
2. 集成 spring-boot-starter-actuator
spring-boot-starter-actuator 是用于监控 spring-boot的启动和运行状态的工具,使用需要先添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version>2.5.5</version>
</dependency>
在配置文件中设置监控所用的端口号和访问路径,若不设置端口和访问路径,默认使用和Spring Boot相同的端口号和访问路径.
management:
server:
port: 8090
servlet:
context-path: /sys
# 端点健康情况,默认值"never",设置为"always"可以显示硬盘使用情况和线程情况
endpoint:
health:
show-details: always
# 设置端点暴露的哪些内容,默认["health","info"],设置"*"代表暴露所有可访问的端点
endpoints:
web:
exposure:
include: '*'
- 访问http://localhost:8090/sys/actuator/mappings可以查看所有的mapping的信息
- 访问http://localhost:8090/sys/actuator/beans,可以查看所有的bean的信息
其中actuor可访问的端点分为三类:
- 应用配置类
- /configprops—-可以查看配置文件例如
application.yml
的信息 - /autoconfig——查看自动化配置
- /beans——查看bean
- /env—-查看硬件和jvm环境的信息,例如jdk配置信息(jdk所在目录),计算机信息
- /info—-返回当前应用application.properties文件中info开头的配置信息
- /mappings——查看控制器映射报告,可以看到有哪些请求信息
- /configprops—-可以查看配置文件例如
- 度量指标类
- dump
- health——-查看系统健康
- 操作控制类
spring-boot-starter-actuator 文档地址:https://docs.spring.io/spring-boot/docs/2.0.5.RELEASE/reference/htmlsingle/#production-ready
3.集成spring-boot-admin
Spring Boot Admin 是 Spring Boot 应用程序运行状态监控和管理的后台界面。
官方文档地址为:https://codecentric.github.io/spring-boot-admin/current/
配置admin服务端
添加服务端依赖
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.4.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
配置端口
server:
port: 8090
在启动类添加服务端注解
@EnableAdminServer
@EnableAdminServer
@SpringBootApplication
public class AdminServerApplication {
public static void main(String[] args) {
SpringApplication.run(AdminServerApplication.class, args);
}
}
配置客户端
添加客户端依赖
在yml中添加服务端配置
server:
port: 8080
spring:
application:
name: admin-client
boot:
admin:
client:
#设置服务端地址
url: "http://localhost:8090"
instance:
metadata:
#设置客户端端点信息的安全认证信息
user.name: ${spring.security.user.name}
user.password: ${spring.security.user.password}
security:
user:
name: admin
password: 123456
management:
endpoint:
health:
#设置端点健康情况显示,显示硬盘使用情况和线程情况
show-details: always
endpoints:
web:
exposure:
#暴漏所有可访问的端点
include: "*"
设置访问信息
@RestController
public class IndexController {
@GetMapping("/")
public String index() {
return "<h1>欢迎来到客户端首页</h1>";
}
}
启动服务端和客户端,访问http://localhost:8090/applications 可发现已经注册的服务
首页为所有已注册的服务名称和端口,应用墙中显示所有服务
点击服务名可以查看服务的详细信息,例如主机名,jdk安装地址,端口健康情况
4.集成AOP拦截请求日志