认识Springboot

认识Springboot

Springboot简介

Spring Boot是一个用于开发Java应用程序的开源框架。它简化了Spring应用程序的配置和部署过程,使开发人员能够更专注于业务逻辑的实现。与Spring相比,Springboot减少了繁琐的配置,更加方便企业快速搭建自己的项目。

核心特性

Spring Boot提供了自动配置、快速启动和开箱即用的特性:

  1. 自动配置(Auto-Configuration)

  2. 起步依赖(Starter Dependencies)

  3. 内嵌容器(Embedded Container)

  4. 管理和监控(Actuator)

  5. 外部化配置(Externalized Configuration)

  6. Spring Boot CLI:Spring Boot CLI是一个命令行工具,可以用于快速原型开发和运行Spring Boot应用程序。它支持Groovy脚本语言,可以通过简洁的语法进行快速开发和测试,同时还提供了许多有用的命令和特性,如自动重启、自动安装依赖等。

以上是Spring Boot的一些核心特性,它们共同为开发者提供了简化和加速开发的能力,并使得应用程序的配置和部署变得更加简单和灵活。

自动配置-核心

条件化配置 + Bean的自动扫描 = 自动化配置。Spring Boot通过条件化配置和约定大于配置的原则,自动配置应用程序的各种组件和功能。它根据应用程序的类路径和依赖项自动配置Spring框架和第三方库,大大简化了应用程序的配置过程。当然这个过程涉及到很多的配置类,注解及扫描组件,不是简单一两句话讲清楚原理的。这里只需要明白几个点:springboot官方或第三方跟你约定好:系统以默认配置启动,官方以条件式注解的判断结果决定是否配置某个Bean到spring容器。

起步依赖-核心

Starter Dependies 通俗点讲就是Springboot的一个依赖描述符,每个starter里面会有相关的一套依赖以及对应的初始化配置项,其实就是按照某一种功能将多个坐标打包在一个 starter 里面,除了springboot官方的starter之外,我们也可以自定义starter,不过命名方面需要与官方区分:

官方命名为 spring-boot-starter-xxx ,第三方命名为 xxx-spring-boot-starter ,防止你自定义的 starter 与官方名字一样造成混淆。

如何自定义一个starter,网上一搜一大堆,后续我也会单独开一章给出详细的指导。另外就是springboot是如何将多个依赖打包到一个里面,到底里面用到了什么技术呢,这个也会在单独章节介绍。

几个常用的起步依赖

  • spring-boot-starter-web:基于Spring MVC实现的Web应用程序开发所需的核心依赖。
  • spring-boot-starter-data-jpa:包含了Spring Data JPA所需的核心依赖,可以快速地集成JPA到Spring Boot项目中。
  • spring-boot-starter-security:包含了Spring Security所需的核心依赖,可以快速地添加安全认证和授权到Spring Boot项目中。
  • spring-boot-starter-test:包含了JUnit、Mockito、Hamcrest等测试框架所需的核心依赖,可以快速地编写和执行单元测试和集成测试。
  • spring-boot-starter-actuator:包含了Spring Boot Actuator所需的核心依赖,可以快速地提供各种有用的系统监控和管理功能,例如健康检查、性能指标收集和暴露、应用程序信息暴露等。

内嵌容器-默认

以往你可能还需要自己搭建一个 tomcat或jetty 的web容器,而Springboot利用自身优势将容器都给你集成到 web-starter 中了,使得应用程序可以以独立的方式运行。只需要你引入官方的 spring-boot-starter-web 依赖即可,你也可以将其过滤后然后使用外部的web容器。

管理和监控-可选

Spring Boot Actuator提供了对应用程序的监控、管理和运维功能。它包括一组用于监控应用程序健康状况、获取度量指标、查看配置信息等的端点(endpoints),并提供了RESTful API和JMX接口供外部系统访问。通过Actuator,可以方便地了解应用程序的运行状态和性能指标。你只需要引入官方的 spring-boot-starter-actuator 依赖即可

配置-核心

配置文件

配置文件在应用程序中用于存储各种配置信息,例如数据库连接、日志级别、端口号等。Spring Boot提供了多种方式来使用配置文件。

  1. 属性文件:Spring Boot支持使用.properties.yml两种格式的属性文件作为配置文件。你可以在这些文件中定义键值对形式的配置属性。例如,application.properties文件可以包含以下内容:
server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
  1. 配置文件位置:Spring Boot会自动加载默认的配置文件,如application.propertiesapplication.yml。你可以将这些文件放置在classpath(类路径)下的config目录中,或者在启动应用程序时通过命令行参数--spring.config.name--spring.config.location来指定配置文件的名称和位置。

  2. 多环境配置:你可以根据不同的环境使用不同的配置文件来配置应用程序。例如,可以创建application-dev.propertiesapplication-prod.properties等不同环境的配置文件,然后在启动应用程序时通过--spring.profiles.active命令行参数来指定使用的环境。Spring Boot会自动加载对应环境的配置文件。

  3. 外部化配置:除了属性文件,Spring Boot还支持其他方式的外部化配置,如环境变量、命令行参数和配置中心。你可以通过这些方式在不同的部署环境中配置应用程序。

使用配置文件,你可以将应用程序的配置信息与代码解耦,使得配置可以在不同环境中灵活变化。Spring Boot会自动加载配置文件并将配置属性注入到应用程序中,你可以通过@Value注解或@ConfigurationProperties注解来获取和使用配置属性的值。

外部化

Spring Boot支持将应用程序的配置从代码中分离出来,可以使用属性文件(如properties或YAML)或环境变量来配置应用程序。这样可以在不重新编译和部署应用程序的情况下,修改配置信息,提高了应用程序的灵活性和可配置性。通常是会在那种部署环境比较特殊的情况下进行外部化。

流程总结

使用Spring Boot,你可以通过以下几个简单的步骤来快速启动一个应用程序:

  1. 引入Spring Boot依赖:在你的项目配置文件(如Maven的pom.xml或Gradle的build.gradle)中添加Spring Boot的依赖。这将引入Spring Boot框架及其相关的库和组件。

  2. 创建Spring Boot应用程序类:创建一个Java类,并使用@SpringBootApplication注解标记它。这个注解将告诉Spring Boot框架,这是一个Spring Boot应用程序的入口点。

  3. 编写业务逻辑:在应用程序类中编写你的业务逻辑代码。你可以使用Spring Boot提供的各种特性和组件,如Spring MVC用于构建Web应用程序,Spring Data用于数据库访问,等等。

  4. 运行应用程序:使用命令行工具或集成开发环境(IDE)来运行应用程序类。Spring Boot会自动检测你的应用程序并启动内嵌的Servlet容器(如Tomcat或Jetty),你的应用程序将在其中运行。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值