Spring Boot 框架内置了使用名为 application.properties 的文件进行应用配置的机制。它位于 src/main/resources 文件夹内,如下图所示。

Spring Boot 应用属性

Spring Boot 提供了可以在 application.properties 文件中配置的各种属性。这些属性有默认值。我们可以为 Spring Boot 应用设置一个或多个属性。Spring Boot 也允许我们根据需要定义自己的属性。

application.properties 文件允许我们在不同的环境中运行应用程序。简而言之,我们可以使用 application.properties 文件来:

  • 配置 Spring Boot 框架
  • 定义我们的应用自定义配置属性

application.properties 的示例

  1. # 配置应用程序名称
  2. spring.application.name = demoApplication
  3. # 配置端口
  4. server.port = 8081

在上述示例中,我们配置了应用程序名称端口。端口 8081 表示应用程序运行在端口 8081 上。

注意:以 # 开头的行是注释。

YAML 属性文件

Spring Boot 还提供了另一个配置属性的文件,称为 yml 文件。由于类路径中存在 Snake YAML jar,所以 Yaml 文件可以工作。我们也可以使用 application.yml 文件,而不是 application.properties 文件,但是 Yml 文件应该存在于类路径中。

application.yml 的示例

  1. spring:
  2. application:
  3. name: demoApplication
  4. server:
  5. port: 8081

在上述示例中,我们配置了应用程序名称端口。端口 8081 表示应用程序运行在端口 8081 上。

Spring Boot 属性类别

Spring Boot 属性有以下 十六个 类别:

  1. 核心属性
  2. 缓存属性
  3. 邮件属性
  4. JSON 属性
  5. 数据属性
  6. 事务属性
  7. 数据迁移属性
  8. 集成属性
  9. Web 属性
  10. 模板属性
  11. 服务器属性
  12. 安全属性
  13. RSocket 属性
  14. Actuator 属性
  15. DevTools 属性
  16. 测试属性

应用属性表

下表提供了常见 Spring Boot 属性的列表:

属性默认值描述
Debugfalse启用调试日志。
spring.application.name 用于设置应用程序名称。
spring.application.admin.enabledfalse用于启用应用程序的管理功能。
spring.config.nameapplication用于设置配置文件名。
spring.config.location 用于配置文件名。
server.port8080配置 HTTP 服务器端口
server.servlet.context-path 配置应用程序的上下文路径。
logging.file.path 配置日志文件的位置。
spring.banner.charsetUTF-8Banner 文件编码。
spring.banner.locationclasspath:banner.txt用于设置横幅文件位置。
logging.file 用于设置日志文件名。例如,data.log。
spring.application.index 用于设置应用程序索引。
spring.application.name 用于设置应用程序名称。
spring.application.admin.enabledfalse用于启用应用程序的管理功能。
spring.config.location 用于配置文件位置。
spring.config.nameapplication用于设置配置文件名。
spring.mail.default-encodingUTF-8用于设置默认 MimeMessage 编码。
spring.mail.host 用于设置 SMTP 服务器主机。例如,smtp.example.com。
spring.mail.password 用于设置 SMTP 服务器的登录密码。
spring.mail.port 用于设置 SMTP 服务器端口。
spring.mail.test-connectionfalse用于在启动时测试邮件服务器是否可用。
spring.mail.username 用于设置 SMTP 服务器的登录用户。
spring.main.sources 用于设置应用程序的源。
server.address 用于设置服务器应绑定的网络地址。
server.connection-timeout 用于设置连接器在关闭连接之前等待另一个 HTTP 请求的毫秒数。
server.context-path 用于设置应用程序的上下文路径。
server.port8080用于设置 HTTP 端口。
server.server-header 用于服务器响应头(如果为空则不发送头)。
server.servlet-path/用于设置主调度程序 servlet 的路径
server.ssl.enabled 用于启用 SSL 支持。
spring.http.multipart.enabledTrue用于启用多部分上传的支持。
spring.servlet.multipart.max-file-size1MB用于设置最大文件大小。
spring.mvc.async.request-timeout 用于设置毫秒数的时间。
spring.mvc.date-format 用于设置日期格式。例如,dd/MM/yyyy。
spring.mvc.locale 用于设置应用程序的区域设置。
spring.social.facebook.app-id 用于设置应用程序的 Facebook App ID。
spring.social.linkedin.app-id 用于设置应用程序的 LinkedIn App ID。
spring.social.twitter.app-id 用于设置应用程序的 Twitter App ID。
security.basic.authorize-moderole用于设置安全授权模式的应用方式。
security.basic.enabledtrue用于启用基本认证。
Spring.test.database.replaceany要替换的现有数据源类型。
Spring.test.mockmvc.printdefaultMVC 打印选项的默认设置。
spring.freemarker.content-typetext/html内容类型值,用于设置 FreeMarker 模板的响应类型为 text/html。
server.server-header 用于设置服务器响应头的值。
spring.security.filter.dispatcher-typeasync, error, requestSecurity 过滤器链的分发类型。
spring.security.filter.order-100Security 过滤器链的顺序。
spring.security.oauth2.client.registration.* OAuth 客户端的注册信息。
spring.security.oauth2.client.provider.* OAuth 提供商的详细信息。

标签: spring, Spring教程, Spring语言学习, Spring框架, Spring框架教程, Spring框架高级教程, spring boot, spring boot入门教程, spring boot学习教程, spring boot下载, spring boot框架入门, spring boot面试题, spring boot笔试题, spring boot学习指南, spring boot技术