然后创建Properties类以便提取配置信息,代码如下:
这里首先将前缀设置为third,注意字段名和 application.yml 中定义的属性名要一致(驼峰命名的允许转为用短横线隔开,如 appKey可以写成app-key )。此外,必须添加@Component注解,否则无法装载到Spring容器中,这样我们就可以通过@Autowired注解注入并使用它,如:
@Autowired
private ThirdProperties thirdProperties;
Actuator监控管理
Actuator是 Spring Boot的一个非常强大的功能,它可以实现应用程序的监控管理,比如帮助我们收集应用程序的运行情况、监测应用程序的健康状况以及显示HTTP跟踪请求信息等。它是我们搭建微服务架构必不可少的环节,是整个系统稳定运行的保障。
在Spring Boot中,集成Actuator也比较简单,只需要在pom.xml中添加以下依赖即可:
<dependency>
<groupid>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId></dependency>
Actuator 内置有很多端点( endpoint ),我们通过这些端点可以获得不同的监控信息。但Actuator默认只开启health和info两个端点。如果要开启更多的端点,可以通过以下配置实现:
management:
endpoints:
web:
exposure:
include: '*'
其中,'*'表示开启所有端点。当然,也可以指定开启的端点,如:
management:
endpoints:
web:
exposure:
include: health,info,httptrace
上述配置表示开启health、info和 httptrace端点。这时启动应用程序,访问地址 localhost:8081/demo/actuator/health,读者通常会在浏览器中看到如图3-2所示的界面。
上述界面提示为406,Not Acceptable,说明不能访问该地址。为了解决这个问题,在Spring Boot应用中,还需要在webConfig类中添加@EnablewebWvc注解,该注解表示启用WebMVC。之后重启应用并访问health端点,就可以看到如图3-3所示的界面,其中 status为UuP说明当前系统正常运行。