第一节 SpringBoot项目简介及四大核心

1. 相关介绍

Spring Boot 是由 Pivotal 团队提供的全新框架,2014 年 4 月发布 Spring Boot 1.0 2018 年 3 月 Spring Boot 2.0发布。它是对spring的进一步封装,其设计目的是用来简化 Spring 应用的初始搭建以及开发过程。通过封装、抽象、提供默认配置等方式让我们更容易使用。

SpringBoot 基于 Spring 开发。SpringBoot 本身并不提供 Spring 框架的核心特性以及扩展功能,也就是说,它并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。

关于 SpringBoot 有一句很出名的话就是约定大于配置。采用 Spring Boot 可以大大的简化开发模式,它集成了大量常用的第三方库配置,所有你想集成的常用框架,它都有对应的组件支持,例如 Redis、MongoDB、Jpa、kafka,Hakira 等等。SpringBoot 应用中这些第三方库几乎可以零配置地开箱即用,大部分的 SpringBoot 应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。

​ Springboot:spring全家桶技术之一,几乎所有 javaWeb 编程都会使用这个框架。它是集成框架。它能简化之前采用 SpringMVC+ Spring + Mybayis 框架进行开发的过程。—简化开发(主要是简化配置),提高开发效率

​ 用Spring Boot可以非常容易和快速地创建基于Spring框架的应用程序,它让编码变简单了,配置变简单了,部署变简单了,监控变简单了。正因为 Spring Boot 它化繁为简,让开发变得极其简单和快速。

2. 特点

Spring Boot所具备的特征有:

(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;

(2)内嵌Tomcat或Jetty等Servlet容器;

(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;

(4)尽可能自动配置Spring容器;

(5)提供准备好的特性,如指标、健康检查和外部化配置;

(6)绝对没有代码生成,不需要XML配置。

3. Spring Boot四大核心
  1. 自动配置:针对很多Spring应用程序和常见的应用功能,Spring Boot能自动提供相关配置

  2. 起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的依赖库

  3. Actuactor: Actuator是来管理和监控应用,Actuator是一个用于暴露自身信息的模块,可以有效地减少监控系统在采集应用指标时的开发量。

  4. 命令行界面:这是Spring Boot的可选特性,借此只需要写代码就能完成完整的应用程序,无需传统项目构建。

3.1 自动配置

​ Spring Boot自动装配原理是通过条件注解和Spring的条件化配置机制实现的。在启动应用程序时,Spring Boot会扫描classpath下的所有类,并根据条件注解来判断哪些类需要被自动装配。条件注解包括@ConditionalOnClass、@ConditionalOnMissingBean、@ConditionalOnProperty等。这些注解可以根据类的存在、Bean的存在、属性的值等条件来判断是否需要自动装配。如果满足条件,Spring Boot会自动创建Bean并注入到容器中,从而实现自动装配的功能。

3.2 起步依赖

​ 起步依赖有很多类型,它们都以spring-boot-starter-XXX的形式命名。例如,spring-boot-starter-web用于Web应用开发,spring-boot-starter-thymeleaf用于导入thymeleaf模板引擎正常运行所依赖的组件。

​ 使用SpringBoot起步依赖非常简单,只需要在项目的pom文件中添加相应的依赖即可。例如,如果你想开发一个Web应用,你可以在pom文件中添加如下依赖:

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

​ SpringBoot起步依赖的优点在于它可以帮助开发人员快速配置项目所需的依赖,避免了手动添加大量依赖的繁琐过程。此外,由于SpringBoot起步依赖中包含的依赖版本都是经过实践验证的可用版本,因此可以避免版本冲突等问题。

3.3 Actuactor

​ Spring Boot Actuator 的关键特性是在应用程序里提供众多 Web 接口,通过它们了解应用程序运行时的内部状况。Actuator 提供了 13 个接口,可以分为三大类:配置接口、度量接口和其它接口,具体如下表所示。

HTTP 方法路径描述
GET/autoconfig提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没通过
GET/configprops描述配置属性(包含默认值)如何注入Bean
GET/beans描述应用程序上下文里全部的Bean,以及它们的关系
GET/dump获取线程活动的快照
GET/env获取全部环境属性
GET/env/{name}根据名称获取特定的环境属性值
GET/health报告应用程序的健康指标,这些值由HealthIndicator的实现类提供
GET/info获取应用程序的定制信息,这些信息由info打头的属性提供
GET/mappings获取应用程序的定制信息,这些信息由info打头的属性提供
GET/metrics获取应用程序的定制信息,这些信息由info打头的属性提供
GET/metrics/{name}报告指定名称的应用程序度量值
POST/shutdown关闭应用程序,要求endpoints.shutdown.enabled设置为true
GET/trace提供基本的HTTP请求跟踪信息(时间戳、HTTP头等)
3.3.1 使用简介

Actuator 的使用需要引入相应的依赖,如下:

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

默认情况下 jmx是所有端点都暴露了, 而 http 方式只有 info 和 health 能用,我们可以通过如下配置来选择是否暴露其他端点

属性意义默认值
management.endpoints.jmx.exposure.exclude暴露排除某些端点
management.endpoints.jmx.exposure.include暴露某些端点*
management.endpoints.web.exposure.exclude暴露排除某些端点
management.endpoints.web.exposure.include暴露某些端点info, health

如:在 Springboot 中我们可以通过如下配置开发所有端点或指定端点:

# actuator 监控配置
management:
  #actuator端口 如果不配置做默认使用上面8080端口
  server:
    port: 8080
  endpoints:
    web:
      exposure:
        #默认值访问health,info端点  用*可以包含全部端点
        include: "*"
      #修改访问路径 2.0之前默认是/; 2.0默认是/actuator可以通过这个属性值修改
      base-path: /actuator
  endpoint:
    shutdown:
      enabled: true #打开shutdown端点
    health:
      show-details: always #获得健康检查中所有指标的详细信息

​ 当服务启动后,我们可以通过 http://{ip}:{port}/{context-path}/actuator 来获取 actuator 的接口。(默认情况下,端点的访问根路径是 actuator,我们可以通过 management.endpoints.base-path 配置来配置访问路径)。

3.4 命令行界面

​ Spring boot CLI是运行spring boot命令的命令行界面。Spring boot CLI应用程序使用groovy语言,通过这种方式,我们用最少的代码行创建我们的应用程序并启动它。

3.4.1 安装 Spring Boot CLI

要使用Spring boot CLI,首先我们需要在系统中安装它。有很多方法可以安装Spring boot CLI。

  • 手动安装
  • 使用SDKMAN进行安装!
  • OSX自制软件的安装
  • MacPorts的安装
  • 命令行完成

步骤1:使用以下链接下载Spring boot CLI

http://repo.spring.io/release/org/springframework/boot/spring-boot-cli/1.4.3.RELEASE/spring-boot-cli-1.4.3.RELEASE-bin.zip

步骤2:解压缩并保存在你系统的某个地方。

C:\spring-1.4.3.RELEASE

现在我们需要在我们的系统中设置以下环境变量。

  • SPRING_HOME的值为C:\spring-1.4.3.RELEASE
  • PATH的值为C:\spring-1.4.3.RELEASE\bin

步骤3:现在我们将测试我们的安装。打开命令提示符并键入命令spring --help,我们将得到以下结果。

C:\Users\Administrator\Desktop>spring --help
usage: spring [--help] [--version]
    <command> [<args>]
Available commands are:
 run [options] <files> [--] [args]
  Run a spring groovy script
 grab
  Download a spring groovy script's dependencies to ./repository
 jar [options] <jar-name> <files>
  Create a self-contained executable jar filefrom a Spring Groovy script
 war [options] <war-name> <files>
  Create a self-contained executable war filefrom a Spring Groovy script
 install[options] <coordinates>
  Install dependencies to the lib/ext directory
 uninstall [options] <coordinates>
  Uninstall dependencies from the lib /ext directory
 init [options] [location]
  Initialize a new project using Spring Initializr (start.spring.io)
 encodepassword [options] <password to encode>
  Encode a password for use with Spring Security
 shell
  Start a nested shell
Common options:
 --debug Verbose mode
  Print additional status information for the command you are running
See 'spring help <command>' for more information on a specific command.

查找更多Spring boot CLI命令。

  • spring version : 提供Spring boot CLI的版本。

创建一个简单的项目。实例:

spring init --build=maven --java-version=1.8 --dependencies=web 
    --packaging=jar --boot-version=1.5.7.RELEASE 
    --groupId=com.bjwl.demo --artifactId=demo
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值