Springboot - 解析四大核心机制

Springboot也没有什么新技术,只是为了简化开发

四大核心机制

  • 自动配置(AutoConfiguration):针对很多Spring应用程序和常见的应用功能,Springboot能自动提供相关配置(如JdbcTemplate的Bean)。由Springboot考虑程序的配置(当然程序员可以修改)
  • 起步依赖(Starter):告诉Spring boot需要什么功能,它就能引入需要的依赖库
  • Actuator:让你能够深入运行中的Spring Boot应用程序,一探Spring boot程序的内部信息
  • 命令行界面(Spring Boot CLI):这是Spring Boot的可选特性,主要针对Groovy语言使用

自动装配

SpringBoot - 浅析自动装配过程及相关注解

自动装配使我们摆脱了Spring的诸多Bean配置,只需导入相应jar包,Springboot就会自动装配默认配置


起步依赖

起步依赖其实就是特殊的Maven依赖或Gradle依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

起步依赖做了什么?

把常用库聚合在一起,组成几个特定功能而定制的依赖
起步依赖把你从“需要哪些库的哪些版本”中解脱出来,且不用担心库之间的兼容性

例如:上面的spring-boot-starter-web库由多个库组成,我们使用时不用担心兼容问题

在这里插入图片描述


Actuator

spring-boot-actuator模块提供了一个监控和管理生产环境的模块,可以使用http、jmx、ssh、telnet等来管理和监控应用

配置

maven依赖,导入jar包后,因为自动装配,实际上已经可以使用了

 <!-- 引入Actuator监控依赖 -->
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-actuator</artifactId>
 </dependency>

项目启动成功后访问http://localhost:8080/actuator

但是因为默认只开放/health和/info,我们还需要更多的信息

application.yml配置

management:
  endpoints:
    web:
      exposure:
        #暴露监控访问接口,默认只开放/health和/info,*表示所有
        include: '*'
        #显式屏蔽监控访问接口
        exclude: env,metrics

再访问,就会发现开放了很多端口,如beans

在这里插入图片描述

通过http://localhost:8080/actuator/beans访问,查看SpringBoot自动装配的bean

在这里插入图片描述

这也验证了SpringBoot的自动装配:由Springboot考虑程序的配置

一些常用接口

  • /actuator

列出所有可用接口

  • /health/{component}/{instance} GET

报告程序的健康指标,这些数据由HealthIndicator实现类提供

  • /info GET

获取程序指定发布的信息,这些信息由配置文件中info打头的属性提供

  • /configprops GET

描述配置属性(包含默认值)如何注入到bean

  • /beans GET

描述程序中的bean,及之间的依赖关系

  • /env GET

获取全部环境属性

  • /env/{name} GET

根据名称获取指定的环境属性值

  • /mappings GET

描述全部的URI路径,及和控制器的映射关系


Spring Boot CLI

Spring Boot CLI是一个命令行工具,可以快速搭建spring原型项目

下载配置

官网:随便挑一个版本下载,windows就下载bin.zip结尾的压缩包,然后解压,其中有一个bin文件夹,里面的spring.bat就是windows脚本

环境变量-系统变量-Path: 添加对应bin路径

在这里插入图片描述

然后cmd打开输入spring --version验证安装成功

在这里插入图片描述

编写HelloWorld

随便在哪里写一个groovy脚本
在这里插入图片描述

@RestController
class ThisWillActuallyRun {

    @RequestMapping("/")
    String home() {
        "Hello World!"
    }
    
}

然后cmd运行:spring run D:\JavaProject\SpringbootCli\spring-2.0.5.RELEASE\app.groovy

(Resolving dependencies可能比较久)
在这里插入图片描述

就可以本地访问了http://localhost:8080/

在这里插入图片描述
关于更多Groovy注解支持,请看官网

然而,实际上Spring boot Cli 并不常用,毕竟到了大点的项目就难以使用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值