SpringBoot总结内容

1.什么是SpringBoot

       Spring Boot是一个用于构建独立、生产级别的Java应用程序的开源框架。它是基于Spring框架的,并提供了一种简化的方式来配置和启动Java应用程序。Spring Boot通过自动配置和约定优于配置的原则,大大简化了Spring应用程序的开发过程。

Spring Boot具有以下特点:

1. 简化配置:Spring Boot通过自动配置来减少开发人员的配置工作。它根据应用程序的依赖关系自动配置Spring框架和第三方库,使得开发人员可以更专注于业务逻辑的实现。

2. 内嵌服务器:Spring Boot内置了常用的Web服务器,如Tomcat、Jetty和Undertow,使得开发人员可以将应用程序打包成可执行的JAR文件,并直接运行,而无需部署到外部服务器。

3. 自动化依赖管理:Spring Boot通过提供一组起步依赖(Starter Dependencies)来简化依赖管理。起步依赖是预定义的依赖集合,可以一次性引入多个相关的依赖,避免了手动管理依赖版本的繁琐工作。

4. 生产就绪特性:Spring Boot提供了许多生产级别的特性,如健康检查、监控、性能调优等。它还支持外部化配置,可以根据不同的环境(开发、测试、生产)加载不同的配置。

       总之,Spring Boot简化了Java应用程序的开发和部署过程,使得开发人员可以更快速、高效地构建可靠的应用程序。它广泛应用于Web开发、微服务架构和云原生应用程序等领域。

2.SpringBoot的优点

  1. 简化开发:Spring Boot通过自动配置和约定优于配置的原则,大大简化了Spring应用程序的开发过程。开发人员无需手动配置大量的XML或注解,可以快速搭建一个可运行的应用程序。

  2. 快速启动:Spring Boot内置了常用的Web服务器,如Tomcat、Jetty和Undertow,使得应用程序可以直接以可执行的JAR文件形式运行,无需部署到外部服务器。这样可以大大减少开发和部署的时间。

  3. 自动化配置:Spring Boot根据应用程序的依赖关系自动配置Spring框架和第三方库,减少了开发人员的配置工作。它提供了一组起步依赖(Starter Dependencies),可以一次性引入多个相关的依赖,避免了手动管理依赖版本的繁琐工作。

  4. 生产就绪特性:Spring Boot提供了许多生产级别的特性,如健康检查、监控、性能调优等。它支持外部化配置,可以根据不同的环境加载不同的配置。这些特性使得应用程序更易于管理和监控,提高了应用程序的可靠性和可维护性。

        5.生态系统支持:Spring Boot是基于Spring框架构建的,可以充分利用Spring生态系统中的 各种组件和工具。它与Spring Cloud等项目集成良好,提供了丰富的功能和解决方案,支持微服务架构和云原生应用程序的开发。

3.SpringBoot的缺点

  1. 学习曲线:尽管Spring Boot简化了Spring应用程序的开发过程,但对于初学者来说,仍然需要一定的学习曲线。理解和掌握Spring Boot的核心概念和特性可能需要一些时间和精力。

  2. 过度自动化:Spring Boot的自动配置和约定优于配置的原则可以带来便利,但有时也可能导致过度自动化。在某些情况下,开发人员可能需要手动配置一些特定的行为或调整自动配置的默认行为,这可能需要一些额外的工作。

  3. 复杂性增加:尽管Spring Boot简化了Spring应用程序的开发过程,但随着应用程序的复杂性增加,可能会引入更多的配置和依赖关系。这可能导致应用程序的复杂性增加,需要更多的维护和管理工作。

  4. 运行时资源消耗:由于Spring Boot内置了常用的Web服务器,应用程序打包成可执行的JAR文件后,会占用一定的内存和处理器资源。对于资源受限的环境或需要高性能的场景,这可能会成为一个问题。

  5. 依赖冲突:由于Spring Boot自动管理依赖关系,可能会导致依赖冲突的问题。当引入多个依赖时,不同依赖之间的版本兼容性可能会引发一些问题,需要进行调试和解决。

4.SpringBoot构建方式

       Spring Boot提供了多种构建方式,常见的有以下两种:

1.Maven构建

       Maven构建:使用Maven构建Spring Boot应用程序是最常见的方式之一。在Maven项目中,通过在pom.xml文件中添加Spring Boot的起步依赖(Starter Dependencies),可以自动引入所需的依赖关系。同时,可以使用Maven插件来打包应用程序,并生成可执行的JAR文件。可以使用以下命令进行构建和打包:

mvn clean package
 2.Gradle构建

       Gradle构建:除了Maven,Spring Boot也支持使用Gradle进行构建。Gradle是一种基于

       Groovy的构建工具,可以通过在build.gradle文件中定义依赖关系和构建任务来构建Spring Boot应用程序。类似于Maven,可以使用Gradle插件来打包应用程序,并生成可执行的JAR文件。可以使用以下命令进行构建和打包:

gradle clean build

       无论是使用Maven还是Gradle构建,都可以根据需要进行自定义配置,例如指定构建输出目录、添加插件、配置资源文件等。Spring Boot提供了一些默认的构建配置,可以根据项目需求进行修改和扩展。

        需要注意的是,Spring Boot应用程序的构建方式并不限于上述两种,还可以使用其他构建工具或集成开发环境(IDE)提供的构建功能。选择合适的构建方式取决于个人或团队的偏好以及项目的需求。

5.SpringBoot中的配置文件

       在Spring Boot中,可以使用不同类型的配置文件来配置应用程序的属性和行为。以下是常用的配置文件类型和它们的使用方式:

1. application.properties:这是最常用的配置文件类型,使用简单的键值对格式进行配置。可以在src/main/resources目录下创建一个名为application.properties的文件,并在其中添加属性。例如:

server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/mydb

2. application.yml:这是一种基于YAML语法的配置文件类型,相对于properties文件,它更加易读和易写。同样在src/main/resources目录下创建一个名为application.yml的文件,并使用YAML语法进行配置。例如:

​
server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb

​

3. 多个配置文件:除了默认的application.properties或application.yml文件外,还可以创建其他的配置文件,例如application-dev.properties或application-prod.yml,用于不同环境下的配置。可以通过在配置文件名中添加环境标识来区分不同的配置文件,例如application-dev.properties用于开发环境,application-prod.properties用于生产环境。

4. 外部配置文件:除了在应用程序的资源目录中创建配置文件外,还可以使用外部的配置文件。可以通过指定命令行参数、环境变量或配置文件路径来加载外部配置文件。例如,可以使用`--spring.config.name`和`--spring.config.location`参数来指定配置文件的名称和路径。

       需要注意的是,Spring Boot会自动加载并解析这些配置文件,并将配置属性注入到应用程序的相应组件中。可以使用`@Value`注解或`@ConfigurationProperties`注解来读取配置属性的值,并在应用程序中使用。

       以上是Spring Boot中常用的配置文件方式,选择合适的方式取决于个人或团队的偏好以及项目的需求。无论使用哪种方式,都可以通过配置文件来灵活地配置和管理应用程序的属性和行为。

1.配置文件的格式

       在Spring Boot中,可以使用多种格式的配置文件来配置应用程序的属性。以下是常用的配置文件格式:

1. Properties文件:使用`.properties`文件格式进行配置。这是传统的Java属性文件格式,使用键值对的方式表示配置属性。例如:

properties

server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=password

2. YAML文件:使用`.yml`或`.yaml`文件格式进行配置。YAML提供了更加简洁和易读的语法结构,使用缩进和层级关系来表示配置属性。例如:

yaml
 

server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: root
    password: password

3. JSON文件:使用`.json`文件格式进行配置。JSON是一种常见的数据交换格式,可以用于配置属性。例如:

json

{
  "server": {
    "port": 8080
  },
  "spring": {
    "datasource": {
      "url": "jdbc:mysql://localhost:3306/mydb",
      "username": "root",
      "password": "password"
    }
  }
}

       Spring Boot会自动加载并解析这些配置文件,并将配置属性注入到相应的组件中。可以使用`@Value`注解或`@ConfigurationProperties`注解来读取配置属性的值,并在应用程序中使用。

       在默认情况下,Spring Boot会优先加载`application.properties`或`application.yml`文件作为主配置文件。可以通过`spring.config.name`和`spring.config.location`属性来指定其他名称和位置的配置文件。

       总之,Spring Boot支持多种格式的配置文件,包括Properties文件、YAML文件和JSON文件。这些配置文件用于配置应用程序的属性,并通过自动加载和解析实现属性的注入。

1.什么是yaml

       在Spring Boot中,YAML(YAML Ain't Markup Language)是一种用于配置应用程序属性的文件格式。与传统的.properties文件相比,YAML提供了更加简洁和易读的语法结构,使得配置文件更加清晰和可维护。

      在Spring Boot中,可以使用YAML格式的配置文件(application.yml)来配置应用程序的属性。这些属性可以包括数据库连接信息、服务器端口、日志级别、缓存配置等等。使用YAML格式的配置文件可以使配置更加结构化和易于理解。

     以下是一个示例的Spring Boot应用程序的application.yml配置文件:

yaml

server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: root
    password: password
  jpa:
    show-sql: true
    hibernate:
      ddl-auto: update
logging:
  level:
    org.springframework: INFO
    com.example: DEBUG

       在这个示例中,配置了服务器端口、数据库连接信息、日志级别等属性。使用YAML的缩进和层级结构,使得配置文件的结构更加清晰和易读。

       Spring Boot会自动加载并解析这个application.yml配置文件,并将配置属性注入到相应的组件中。可以使用`@Value`注解或`@ConfigurationProperties`注解来读取配置属性的值,并在应用程序中使用。

       总之,YAML是Spring Boot中常用的配置文件格式,用于配置应用程序的属性。它提供了简洁、易读的语法结构,使得配置文件更加清晰和可维护。

2.什么是properties

       在Spring Boot中,Properties是一种常用的配置文件格式,用于配置应用程序的属性。Properties文件使用键值对的方式表示配置属性,每一行表示一个属性,格式为`key=value`。

       在Spring Boot中,可以使用`.properties`文件扩展名的Properties文件进行配置。这种文件格式非常简单和易于理解,适合用于存储简单的配置属性。

       以下是一个示例的Spring Boot应用程序的`application.properties`配置文件:

properties

server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=password

       在这个示例中,配置了服务器端口、数据库连接信息等属性。每个属性都由键和值组成,通过等号(=)分隔。

       在Spring Boot中,Properties文件的配置属性可以通过`@Value`注解或`@ConfigurationProperties`注解来读取和使用。例如,可以使用`@Value`注解将属性值注入到一个变量中:

@Value("${server.port}")
private int serverPort;

       或者,可以使用`@ConfigurationProperties`注解将属性值注入到一个配置类中:

@ConfigurationProperties("spring.datasource")
public class DataSourceProperties {
    private String url;
    private String username;
    private String password;
    // getters and setters
}

       总之,Properties是一种常用的配置文件格式,在Spring Boot中用于配置应用程序的属性。它使用简单的键值对表示属性,可以通过`@Value`注解或`@ConfigurationProperties`注解读取和使用。

3.什么是json

       在Spring Boot中,JSON(JavaScript Object Notation)是一种常用的数据交换格式。它是一种轻量级的文本格式,用于表示结构化的数据。JSON由键值对组成,使用大括号({})表示对象,使用方括号([])表示数组。

       在Spring Boot中,JSON常用于数据的传输和存储。它具有以下特点:

1. 简洁性:JSON使用简洁的语法表示数据,易于阅读和理解。

2. 可读性:JSON的结构清晰,使用缩进和换行符来表示层级关系,使得数据更易于阅读和维护。

3. 可扩展性:JSON支持嵌套和复杂的数据结构,可以表示各种类型的数据。

       在Spring Boot中,可以使用JSON格式的配置文件进行应用程序的配置。例如,可以使用`.json`文件扩展名的JSON文件来配置应用程序的属性。以下是一个示例的Spring Boot应用程序的`application.json`配置文件:

json

{
  "server": {
    "port": 8080
  },
  "spring": {
    "datasource": {
      "url": "jdbc:mysql://localhost:3306/mydb",
      "username": "root",
      "password": "password"
    }
  }
}

       在这个示例中,配置了服务器端口、数据库连接信息等属性。JSON使用大括号表示对象,通过键值对的方式表示属性。

       在Spring Boot中,可以使用`@ConfigurationProperties`注解将JSON配置文件的属性值注入到一个配置类中。例如:

@ConfigurationProperties("spring.datasource")
public class DataSourceProperties {
    private String url;
    private String username;
    private String password;
    // getters and setters
}

       通过将`@ConfigurationProperties`注解的参数设置为JSON配置文件中的属性前缀,可以将属性值自动注入到配置类的对应属性中。

       总之,JSON是一种常用的数据交换格式,在Spring Boot中常用于数据的传输和存储。它使用简洁的语法表示结构化的数据,可以通过`@ConfigurationProperties`注解将JSON配置文件的属性值注入到配置类中。

6.SpringBoot配置属性加载的顺序 

       在Spring Boot中,属性加载的顺序可以通过以下方式进行配置:

1. 命令行参数:可以通过在启动应用程序时使用`--`或`-D`参数来传递属性值,例如`java -jar myapp.jar --server.port=8080`。

2. 系统环境变量:可以通过设置操作系统的环境变量来配置属性值,例如`export SERVER_PORT=8080`。

3. `application.properties`或`application.yml`文件:Spring Boot会默认加载`application.properties`或`application.yml`文件中的属性值。可以通过在这些文件中设置属性来配置应用程序。

4. `application-{profile}.properties`或`application-{profile}.yml`文件:如果使用了Spring Profiles,可以根据不同的profile加载不同的属性文件。例如,`application-dev.properties`用于开发环境,`application-prod.properties`用于生产环境。

5. `@ConfigurationProperties`注解:可以使用`@ConfigurationProperties`注解将属性值注入到配置类中。通过在配置类上使用`@ConfigurationProperties`注解,并指定属性的前缀,可以将属性值自动注入到配置类的对应属性中。

6. 命令行参数优先级:命令行参数会覆盖其他方式加载的属性值。例如,如果在命令行参数中指定了`--server.port=8080`,则会覆盖配置文件中的值。

       总的来说,属性加载的顺序是从高到低的优先级:命令行参数 > 系统环境变量 > `application.properties`或`application.yml`文件 > `application-{profile}.properties`或`application-{profile}.yml`文件 > `@ConfigurationProperties`注解。命令行参数具有最高的优先级,会覆盖其他方式加载的属性值。

      

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

陌云vic

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

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

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

打赏作者

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

抵扣说明:

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

余额充值