📜  Spring Boot属性(1)

📅  最后修改于: 2023-12-03 15:05:16.043000             🧑  作者: Mango

Spring Boot属性

Spring Boot 是一个用于快速开发 Spring 应用程序的框架。它提供了很多属性,可以通过配置文件或命令行设置,从而使应用程序更灵活和可配置。

配置文件

Spring Boot 采用了约定大于配置的思想,提供了默认的配置文件格式,我们可以在 application.properties 文件中设置应用程序属性。也支持 YAML 格式的配置文件,通过使用 application.yaml 文件来设置属性。

以下是一些常用的属性:

# 服务器端口
server.port=8080

# 应用程序上下文路径
server.servlet.context-path=/myapp

# 数据库连接配置
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=dbuser
spring.datasource.password=dbpass
命令行参数

Spring Boot 还支持通过命令行参数来设置应用程序属性。这些参数可以在应用程序启动时与 java -jar 命令一起传递。例如:

java -jar myapp.jar --server.port=8080 --spring.datasource.url=jdbc:mysql://localhost:3306/mydb
配置优先级

Spring Boot 中的属性可以从多个来源中获取,包括:

  • application.propertiesapplication.yaml 配置文件中的属性
  • 命令行参数
  • System 属性
  • 环境变量

Spring Boot 的属性配置优先级如下(从高到低):

  1. 命令行参数
  2. SPRING_APPLICATION_JSON 环境变量
  3. Java 系统属性(例如,通过 -Dproperty.name=value 命令行选项传递的属性)
  4. 操作系统环境变量
  5. JNDI 属性
  6. application.propertiesapplication.yaml 配置文件中的属性
  7. 在通过 SpringApplication.setDefaultProperties 方法设置的默认属性
自定义属性

我们也可以添加自己的属性,以满足应用程序的特定需求。可以通过使用 @Value 注解或 Environment 对象来访问这些属性。例如,在代码中使用 @Value 注解注入属性:

@Value("${myapp.message}")
private String message;

在配置文件中配置属性:

myapp.message=Hello world!
总结

Spring Boot 提供了很多属性,使应用程序更加灵活和可配置。可以通过配置文件或命令行参数来设置这些属性,也可以添加自定义属性来满足特定的需求。开发人员需要了解属性的优先级,以便正确地配置应用程序属性。