SpringBoot入門系列(三)資源文件屬性配置
- 2020 年 3 月 6 日
- 筆記
前面介紹了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:\UsersZhangAppDataLocalTemp) #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源碼 獲取這個系列課程的完整源碼。