SpringBoot教程-Spring Boot 应用属性
Spring Boot 框架内置了使用名为 application.properties 的文件进行应用配置的机制。它位于 src/main/resources 文件夹内,如下图所示。
Spring Boot 提供了可以在 application.properties 文件中配置的各种属性。这些属性有默认值。我们可以为 Spring Boot 应用设置一个或多个属性。Spring Boot 也允许我们根据需要定义自己的属性。
application.properties 文件允许我们在不同的环境中运行应用程序。简而言之,我们可以使用 application.properties 文件来:
- 配置 Spring Boot 框架
- 定义我们的应用自定义配置属性
application.properties 的示例
- # 配置应用程序名称
- spring.application.name = demoApplication
- # 配置端口
- server.port = 8081
在上述示例中,我们配置了应用程序名称和端口。端口 8081 表示应用程序运行在端口 8081 上。
注意:以 # 开头的行是注释。
YAML 属性文件
Spring Boot 还提供了另一个配置属性的文件,称为 yml 文件。由于类路径中存在 Snake YAML jar,所以 Yaml 文件可以工作。我们也可以使用 application.yml 文件,而不是 application.properties 文件,但是 Yml 文件应该存在于类路径中。
application.yml 的示例
- spring:
- application:
- name: demoApplication
- server:
- port: 8081
在上述示例中,我们配置了应用程序名称和端口。端口 8081 表示应用程序运行在端口 8081 上。
Spring Boot 属性类别
Spring Boot 属性有以下 十六个 类别:
- 核心属性
- 缓存属性
- 邮件属性
- JSON 属性
- 数据属性
- 事务属性
- 数据迁移属性
- 集成属性
- Web 属性
- 模板属性
- 服务器属性
- 安全属性
- RSocket 属性
- Actuator 属性
- DevTools 属性
- 测试属性
应用属性表
下表提供了常见 Spring Boot 属性的列表:
属性 | 默认值 | 描述 |
---|---|---|
Debug | false | 启用调试日志。 |
spring.application.name | 用于设置应用程序名称。 | |
spring.application.admin.enabled | false | 用于启用应用程序的管理功能。 |
spring.config.name | application | 用于设置配置文件名。 |
spring.config.location | 用于配置文件名。 | |
server.port | 8080 | 配置 HTTP 服务器端口 |
server.servlet.context-path | 配置应用程序的上下文路径。 | |
logging.file.path | 配置日志文件的位置。 | |
spring.banner.charset | UTF-8 | Banner 文件编码。 |
spring.banner.location | classpath:banner.txt | 用于设置横幅文件位置。 |
logging.file | 用于设置日志文件名。例如,data.log。 | |
spring.application.index | 用于设置应用程序索引。 | |
spring.application.name | 用于设置应用程序名称。 | |
spring.application.admin.enabled | false | 用于启用应用程序的管理功能。 |
spring.config.location | 用于配置文件位置。 | |
spring.config.name | application | 用于设置配置文件名。 |
spring.mail.default-encoding | UTF-8 | 用于设置默认 MimeMessage 编码。 |
spring.mail.host | 用于设置 SMTP 服务器主机。例如,smtp.example.com。 | |
spring.mail.password | 用于设置 SMTP 服务器的登录密码。 | |
spring.mail.port | 用于设置 SMTP 服务器端口。 | |
spring.mail.test-connection | false | 用于在启动时测试邮件服务器是否可用。 |
spring.mail.username | 用于设置 SMTP 服务器的登录用户。 | |
spring.main.sources | 用于设置应用程序的源。 | |
server.address | 用于设置服务器应绑定的网络地址。 | |
server.connection-timeout | 用于设置连接器在关闭连接之前等待另一个 HTTP 请求的毫秒数。 | |
server.context-path | 用于设置应用程序的上下文路径。 | |
server.port | 8080 | 用于设置 HTTP 端口。 |
server.server-header | 用于服务器响应头(如果为空则不发送头)。 | |
server.servlet-path | / | 用于设置主调度程序 servlet 的路径 |
server.ssl.enabled | 用于启用 SSL 支持。 | |
spring.http.multipart.enabled | True | 用于启用多部分上传的支持。 |
spring.servlet.multipart.max-file-size | 1MB | 用于设置最大文件大小。 |
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-mode | role | 用于设置安全授权模式的应用方式。 |
security.basic.enabled | true | 用于启用基本认证。 | |
Spring.test.database.replace | any | 要替换的现有数据源类型。 | |
Spring.test.mockmvc.print | default | MVC 打印选项的默认设置。 | |
spring.freemarker.content-type | text/html | 内容类型值,用于设置 FreeMarker 模板的响应类型为 text/html。 | |
server.server-header | 用于设置服务器响应头的值。 | ||
spring.security.filter.dispatcher-type | async, error, request | Security 过滤器链的分发类型。 | |
spring.security.filter.order | -100 | Security 过滤器链的顺序。 | |
spring.security.oauth2.client.registration.* | OAuth 客户端的注册信息。 | ||
spring.security.oauth2.client.provider.* | OAuth 提供商的详细信息。 |