Spring boot生产级特性

说明

spring boot提供的actuator插件提供了大量的生产级特性,通过配置进行使用

        
        
            org.springframework.boot
            spring-boot-starter-actuator
        

endpoint

我们可以通过一系列的HTTP请求获得应用程序的相关信息,这些请求就是endpoint,具体有如下几个

autoconfig  : 获取自动配置信息
beans  :获取Spring Bean基本信息
configprops :获取配置项信息
dump : 获取当前线程基本信息
env :获取环境变量信息
health : 获取健康检查信息
info : 获取应用的基本信息
metrics : 获取性能指标信息
mappings : 获取请求映射信息
trace : 获取请求调用信息

可以通过application.properties配置文件进行精准控制

# 放弃安全限制
management.security.enabled=false
# 关闭一个endpoint:beans
endpoints.beans.enabled=false
# 关闭所有endpoint,仅打开beans
endpoints.enable=false
endpoints.beans.enabled=false
# 修改endpoint名称
endpoints.beans.id=mybeans
# 修改请求路径
endpoints.beans.path=/endpoints/mybeans

信息聚合

POM.xml文件中增加如下内容

        
        
            org.springframework.boot
            spring-boot-starter-hateoas
        

可以通过/actuator 来访问聚合信息
可以通过图形化插件进行显示,在POM.xml文件中增加如下内容

        
        
            org.springframework.data
            spring-data-rest-hal-browser
        

可以通过/actuator 来访问图形化聚合信息

应用信息

通过/info可以查看应用信息,信息可以在application.properties文件中配置,如果产生乱码,请戳这里,有解决方案

info.app.name=应用名称,使用POM中的信息,@project.modelVersion@
info.app.description=对应用的描述
info.app.version=1.0.0
# 自定义用户信息
info.user.name=hutou
info.user.sex=男
info.user.age=22

健康检查

通过/health可以进行监控检查,下面是一些配置项

# 暴露磁盘空间信息
endpoints.health.sensitive=true
# 健康信息缓存时间,设置太短会影响性能
endpoints.health.time-to-live=500

spring boot提供了很多内置的监控检查功能,都放置在:org.springframework.boot.actuate.health包下

ApplicationHealthIndicator
DiskSpaceHealthIndicator
DataSourceHealthIndicator    检查数据库连接
MailHealthIndicator                检查邮件服务器
MongoHealthIndicator            检查MongoDB数据库
....

可以自行扩展健康检查,一篇好文章

跨域访问

CORS实现跨域访问是比较好的方案!Spring boot有很好的支持!

  1. 在配置文件中进行配置
## 跨域访问
endpoints.cors.allowed-origins=http://www.baidu.com
endpoints.cors.allowed-methods=GET,PUT,POST,DELETE
  1. 在应用中增加@CrossOrigin注解来实现跨域
  2. 自定义配置
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter{
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
            .allowedOrigins("http://www.baidu.com")
            .allowedMethods("GET","PUT","POST","DELETE");
    }
}

你可能感兴趣的:(Spring boot生产级特性)