构建SpringBoot项目

本文介绍如何使用SpringBoot快速构建web应用,包括选择必要的依赖、多环境配置方法及应用监控管理。通过内置的Tomcat和Actuator等功能,简化部署流程并提供详细的健康检查与度量指标。

基于SpringBoot快速搭建一个web应用

  1. spring-boot-starter-web,全栈web开发模块,包含嵌入式Tomcat,SpringMVC
  2. spring-boot-starter-test,通用测试模块,包含Junit,Mockito等
  • SpringBoot内置tomcat,所以SpringBoot可以打成jar,通过java -jar xxx.jar 运行应用
  • 拓展: SpringBoot的几个特点
  • 嵌入式tomcat,jetty等作为servlet容器
  • 各种stater POM,以模块的方式提供功能,简化依赖管理
  • 自动进行Spring框架的配置
  • 自带应用的监控与管理,actuator
  • 可以通过命令行修改属性值(与SpringBoot配置的加载顺序有关)

RESTfull API接口测试

单元测试:@RunWith和@SpringBootTest,使用MockMvc对象模拟http请求,测试Controller
这里写图片描述

SpringBoot多环境配置

  • application.properties配置文件
  • 配置:使用key=value的形式,如server.port=8888
  • 读取:从配置文件读取值并注入@Value("{xxx.xxx}"),也可以用命令行的方式注入参数
  • 多环境配置
  1. 命名格式application-{profile}.properties,如application-dev.properties
  2. 激活方式
    配置文件中添加spring.profiles.active={profile}
    或者使用命令行参数,如java -jar xxx.jar —spring.profiles.active=xxx
  • 多环境配置思路
  1. 默认配置: 在application.properties配置通用内容,并激活,作为开发配置
  2. 在applications-{profile}.properties中配置不同环境的配置
  3. 通过命令行方式去激活不同环境的配置
  • 配置的加载顺序,数字越小优先级越高(包含外部化配置的原理)
    • 常见: 1.命令行参数, 4.java的系统属性, 5.操作系统环境变量

SpringBoot神器之一actuator: 应用的监控与管理

  • 引入依赖spring-boot-starter-actuator
  • 原生端点
  • 应用配置类:获取应用加载的应用配置、环境变量、自动化配置报告与SpringBoot应用密切相关的配置类信息
  • 度量指标类:获取应用运行时的度量指标,提供动态变化的报告内容,如http请求统计,内存等
  • 操作控制类:原生的只提供一个应用开关,慎用
  • 详细解析
  • 应用配置类
    • /autoconfig,获取应用的自动化配置报告,包含positiveMatches(条件匹配成功)和negativematches(条件匹配失败),可以由此发现一些配置没有生效的具体原因
    • /configprops,获取应用的属性信息,可以通过prefix属性关闭指定端点
    • /env,与/configprops不同,该端点用来获取所有可用的环境属性报告
  • 度量指标类
    • /metrics,获取内存信息,线程信息,垃圾回收等重要指标,其中start-start代表了对静态资源的访问次数,还可以在程序中增加自定义统计值
      • 示例:统计接口被访问的次数
      @Autowired
      private CounterService counterService;
      
      @RequestMapping("/hello")
      public String hello()  {
          counterService.increment(String metricName);
          return "OK";
      }
      
    • /health,获取健康信息指标
      • 根据自动化配置,已经可以检测地空间磁盘,数据源连接,Mongo,Redis,Solr服务等是否可用
      • Staters POMs没有封装RocketMQ,可以实现HealthIndicator,覆写health(),并将整个类用@Component修饰
    • /dump,获取应用中所有运行的线程信息
    • /trace,获取http跟踪信息,在内存中保留近100条记录

下一篇服务治理Spring Cloud Eureka

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火车站卖橘子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值