Spring Boot Framework带有一个内置的机制,使用application.properties
文件进行应用程序配置。此文件位于src/main/resources
文件夹中,如下图所示:
Spring Boot提供了可以在application.properties
文件中配置的各种属性。这些属性具有默认值。可以为Spring Boot应用程序设置一个或多个属性。 如果需要,Spring Boot还允许开发人员定义自己的属性。
通过application.properties
文件,可以在其他环境中运行应用程序。 简而言之,可以使用application.properties
文件来:
- 配置Spring Boot框架
- 定义应用程序定制配置属性
application.properties的示例
#configuring application name
spring.application.name = XNTutorApplication
#configuring port
server.port = 8081
在上面的示例中,已经配置了应用程序名称和端口。8081
表示应用程序在端口8081
上运行。
注意:以
#
开头的行是注释。
YAML属性文件
Spring Boot提供了另一个配置属性的文件,称为yml文件。 Yaml文件起作用是因为在类路径中存在Snake YAML jar。 除了使用application.properties
文件,还可以使用application.yml
文件,但是Yml文件应该存在于类路径中。
application.yml的示例
spring:
application:
name: demoApplication
server:
port: 8081
Spring Boot属性类别
Spring Boot属性有十六个类别,如下所示:
- 核心属性
- 缓存属性
- 邮件属性
- JSON属性
- 资料属性
- 事务属性
- 数据迁移属性
- 整合属性
- 网站资源
- 模板属性
- 服务器属性
- 安全性
- RSocket属性
- 执行器特性
- DevTools属性
- 测试性质
应用程序属性表
下表中提供了常见的Spring Boot属性列表:
属性 | 默认值 | 说明 |
---|---|---|
Debug | false | 启用调试日志。 |
spring.application.name | — | 用于设置应用程序名称。 |
spring.application.admin.enabled | false | 用于启用应用程序的管理功能。 |
spring.config.name | — | 应用程序用于设置配置文件名。 |
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应用程序ID。 |
spring.social.twitter.app-id | - | 用来设置应用程序的Twitter App ID。 |
security.basic.authorize-mode | - | 角色用于设置要应用的安全授权模式。 |
security.basic.enabled true | - | 用于启用基本身份验证。 |
spring.test.database.replace | - | 任何要替换的现有数据源的类型。 |
spring.test.mockmvc.print | - | 默认的MVC打印选项 |
spring.freemaker.content-type | text/html |
内容类型值 |
server.server-header | - | 用于服务器响应头的值。 |
spring.security.filter.dispatcher-type | - | 异步,错误,请求安全过滤器链调度程序类型。 |
spring.security.filter.order | -100 | 安全过滤器链顺序。 |
spring.security.oauth2.client.registration.* | - | OAuth客户端注册。 |
spring.security.oauth2.client.provider.* | - | OAuth提供者详细信息。 |