SpringBoot入門系列(三)資原始檔屬性配置
前面介紹了Spring的@Controller和@RestController控制器, 他們是如何響應客戶端請求,如何返回json資料。不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.html。
今天來說一說SpringBoot的application.properities的相關配置屬性和如何自定義配置檔案。
一、系統配置application.properities
建立spring-boot專案後,會在resources目錄下生成一個空的application.properties配置檔案,springboot啟動時載入該配置檔案。
application.properties(或者application.yml)中包含系統屬性、環境變數、命令引數這類資訊。
下面簡要說一部分spring-boot專案中application.properties內的一些常用配置,更多參照官方文件。
############################################################ # # Server 伺服器相關配置 # ############################################################ # 配置埠號 server.port=8080 # 配置context-path,一般這個配置在正式釋出的時候不需要配置。 #server.context-path= # 錯誤頁,指定發生錯誤時,跳轉的URL --> BasicErrorController #server.error.path=/error # session最大超市時間(分鐘),預設30分鐘 server.session-timeout=60 # 服務繫結的IP地址,啟動伺服器時,如本機不是該IP地址則丟擲異常啟動失敗, # 所以此配置只有在特殊情況下才配置,具體更具各自的業務來設定。 #server.address=192.168.1.9 ############################################################ # Server - tomcat 相關配置 ############################################################ # tomcat最大執行緒數,預設200 #server.tomcat.max-threads=250 # tomcat的URI編碼格式 server.tomcat.uri-encoding=UTF-8 # 存放Tomcat的日誌,Dump等檔案的零食資料夾,預設為系統但是tmp資料夾 # (如:C:\\Users\Zhang\AppData\Local\Temp) #server.tomcat.basedir=D:/springboot-tomcat-tmp # 開啟Tomcat的Access日誌,並可以設定日誌格式的方法, #server.tomcat.access-log-enabled=true #server.tomcat.access-log-pattern= # accesslog目錄,預設在basedir/logs #server.tomcat.accesslog.directory= # 日誌檔案目錄 #logging.path=H:/springboot-tomcat-tmp # 日誌檔名稱,預設為spring.log #logging.file=myapp.log
這些引數配置不一定要寫在application.properties裡面,可以在application.properties裡面配置指定自定義配置檔名稱和位置:(但是無論怎麼配置,spring-boot都會讀取載入application.properties檔案)
二、自定義配置
系統相關的配置,我們一般放在application.properties中,但是其他的和業務相關的配置怎麼定義呢,下面就來介紹下如何自定義配置:
1、增加自定義的resource.properties 檔案
com.weiz.resource.name=weiz com.weiz.resource.website=www.weiz.com com.weiz.resource.language=java
2、增加Resource.java 類
package com.weiz.pojo; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; @Configuration @ConfigurationProperties(prefix = "com.weiz.resource") @PropertySource(value = "classpath:resource.properties") public class Resource { private String name; private String website; private String language; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getWebsite() { return website; } public void setWebsite(String website) { this.website = website; } public String getLanguage() { return language; } public void setLanguage(String language) { this.language = language; } }
@ConfigurationProperties 配置的屬性,prefix定義這些屬性的字首。
@PropertySource 資源配置檔案的地址。
3、呼叫
@Autowired private Resource resource; @RequestMapping("/index") public String index(ModelMap map) { map.addAttribute("name", resource.getName()); return "freemarker/index"; }
最後
以上,就把Spring Boot如何資原始檔屬性配置介紹完了。
這個系列課程的完整原始碼,也會提供給大家。大家關注我的微信公眾號(架構師精進),回覆:springboot原始碼 獲取這個系列課程的完整原始碼。
&n