1. 程式人生 > >SpringBoot入門系列(三)資原始檔屬性配置

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