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:\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源碼 獲取這個系列課程的完整源碼。