Spring Boot Framework帶有內(nèi)置的機(jī)制,用于使用名為 application.properties 的文件進(jìn)行應(yīng)用程序配置。它位于 src/main/resources 文件夾中,如下圖所示。
Spring Boot提供了可以在 application.properties 文件中配置的各種屬性。這些屬性具有默認(rèn)值。我們可以為Spring Boot應(yīng)用程序設(shè)置一個或多個屬性。 Spring Boot還允許我們根據(jù)需要定義自己的屬性。
application.properties文件允許我們在 不同的環(huán)境中運(yùn)行應(yīng)用程序。 簡而言之,我們可以使用application.properties文件進(jìn)行以下操作:
配置Spring Boot框架 定義我們的應(yīng)用程序自定義配置屬性
#配置應(yīng)用程序名稱 pring.application.name = demoApplication #配置端口 server.port = 8081
在上面的示例中,我們已經(jīng)配置了 應(yīng)用程序名稱和 端口。端口8081表示應(yīng)用程序在端口 8081 上運(yùn)行。
YAML屬性文件
Spring Boot提供了另一個用于配置屬性的文件,稱為 yml 文件。 Yaml文件起作用是因為在類路徑中存在 Snake YAML jar。除了使用application.properties文件之外,我們還可以使用application.yml文件,但是 Yml 文件應(yīng)該出現(xiàn)在類路徑中。
應(yīng)用示例.yml
spring: application: name: demoApplication server: port: 8081
在上面的示例中,我們已經(jīng)配置了 應(yīng)用程序名稱和 端口。端口8081表示應(yīng)用程序在端口 8081 上運(yùn)行。
有 16個Spring Boot屬性的類別如下:
核心屬性 緩存屬性 郵件屬性 JSON屬性 數(shù)據(jù)屬性 交易屬性 數(shù)據(jù)遷移屬性 集成屬性 網(wǎng)絡(luò)媒體資源 模板屬性 服務(wù)器屬性 安全屬性 RSocket屬性 執(zhí)行器屬性 DevTools屬性 測試屬性
下表提供了常見的Spring Boot屬性列表:
屬性 | 默認(rèn)值 | 說明 |
Debug | false | 它啟用調(diào)試日志。 |
spring.application.name | 它用來設(shè)置應(yīng)用程序名稱。 | |
spring.application.admin.enabled | false | 它用于啟用應(yīng)用程序的管理功能。 |
spring.config.name | application | 用于設(shè)置配置文件名。 |
spring.config.location | 它用于配置文件名。 | |
server.port | 8080 | 配置HTTP服務(wù)器端口 |
server.servlet.context-path | 它配置應(yīng)用程序的上下文路徑。 | |
logging.file.path | 它配置日志文件的位置。 | |
spring.banner.charset | UTF-8 | 橫幅文件編碼。 |
spring.banner.location | classpath: banner.txt | 它用于設(shè)置標(biāo)題文件的位置。 |
logging.file | 它用于設(shè)置日志文件名。例如,data.log。 | |
spring.application.index | 它用來設(shè)置應(yīng)用程序索引。 | |
spring.application.name | 它用來設(shè)置應(yīng)用程序名稱。 | |
spring.application.admin.enabled | false | 它用于為應(yīng)用程序啟用管理功能。 |
spring.config.location | 它用于配置文件位置。 | |
spring.config.name | application | 用于設(shè)置文件名。 |
spring.mail.default-encoding | UTF-8 | 它用于設(shè)置默認(rèn)的MimeMessage編碼。 |
spring.mail.host | 用于設(shè)置SMTP服務(wù)器主機(jī)。例如,smtp.example.com。 | |
spring.mail.password | 用于設(shè)置SMTP服務(wù)器的登錄密碼。 | |
spring.mail.port | 用于設(shè)置SMTP服務(wù)器端口。 | |
spring.mail.test-connection | false | 它用于測試郵件服務(wù)器在啟動時是否可用。 |
spring.mail.username | 用于設(shè)置SMTP服務(wù)器的登錄用戶。 | |
spring.main.sources | 它用于設(shè)置應(yīng)用程序的來源。 | |
server.address | 它用于設(shè)置服務(wù)器應(yīng)綁定到的網(wǎng)絡(luò)地址。 | |
server.connection-timeout | 用于設(shè)置連接器在關(guān)閉連接之前將等待另一個HTTP請求的時間(以毫秒為單位)。 | |
server.context-path | 它用于設(shè)置應(yīng)用程序的上下文路徑。 | |
server.port | 8080 | 用于設(shè)置HTTP端口。 |
server.server-header | 用于服務(wù)器響應(yīng)標(biāo)頭(如果為空則不發(fā)送標(biāo)頭) | |
server.servlet-path | / | 用于設(shè)置主調(diào)度程序servlet的路徑 |
server.ssl.enabled | 用于啟用SSL支持。 | |
spring.http.multipart.enabled | 真 | 它用于啟用對分段上傳的支持。 |
spring.servlet.multipart.max-文件大小 | 1MB | 用于設(shè)置最大文件大小。 |
spring.mvc.async.request-timeout | 它用于設(shè)置時間(以毫秒為單位)。 | |
spring.mvc.date-format | 用于設(shè)置日期格式。例如,dd/MM/yyyy。 | |
spring.mvc.locale | 用于設(shè)置應(yīng)用程序的語言環(huán)境。 | |
spring.social.facebook.app-id | 它用于設(shè)置應(yīng)用程序的Facebook App ID。 | |
spring.social.linkedin.app-id | 它用于設(shè)置應(yīng)用程序的LinkedIn應(yīng)用程序ID。 | |
spring.social.twitter.app-id | 它用于設(shè)置應(yīng)用程序的Twitter App ID。 | |
security.basic.authorize-mode | role | 用于設(shè)置要應(yīng)用的安全授權(quán)模式。 |
security.basic.enabled | true | 它用于啟用基本身份驗證。 |
Spring.test.database.replace | any | 要替換的現(xiàn)有數(shù)據(jù)源的類型。 |
Spring.test.mockmvc.print | default | MVC打印選項 |
spring.freemaker.content-type | text/html | 內(nèi)容類型值 |
server.server-header | 用于服務(wù)器響應(yīng)標(biāo)頭的值。 | |
spring.security.filter.dispatcher-type | async, error, request | 安全過濾器鏈調(diào)度程序類型。 |
spring.security.filter.order | -100 | 安全過濾器鏈順序。 |
spring.security.oauth2.client.registration。* | OAuth客戶端注冊。 | |
spring.security.oauth2.client.provider。* | OAuth提供者詳細(xì)信息。 |