1. 程式人生 > >微服務 SpringBoot 2.0(六):常用配置(properties、yml)

微服務 SpringBoot 2.0(六):常用配置(properties、yml)

版本號 ria enable 序列化 資源 selector reference 一個 templates

約定優於配置,但配置不能為0 —— Java面試必修

引言

在前面的章節中,我們已經知道,SpringBoot的配置文件分為properties和yml,而我個人更青睞yml,其書寫格式讓人覺得很舒服,那這篇文章了就將配置文件中的各個屬性列出來供大家參考,在IDE工具中也會有相應的提示,若出現紅色,說明該屬性已經在2.0中變更,請查看變更後的書寫格式。

SPRING CONFIG

spring.config.name
配置文件名稱,默認為application
spring.config.location
配置文件存放位置,默認為classpath目錄下

列出的類型如下:mvc、messages、mobile、view、resource、multipart、freemarker、thymeleaf、mustcache、groovy模板、http、json、jersey

mvc

spring.mvc.date-format: yyyy-MM-dd
#設定日期的格式,比如dd/MM/yyyy.

spring.mvc.favicon.enabled: true
#是否支持favicon.ico,默認為: true

spring.mvc.ignore-default-model-on-redirect: true
#在重定向時是否忽略默認model的內容,默認為true

spring.mvc.locale: abc
#指定使用的Locale.

spring.mvc.message-codes-resolver-format: PREFIX_ERROR_CODE
#指定message codes的格式化策略(PREFIX_ERROR_CODE,POSTFIX_ERROR_CODE).

spring.mvc.view.prefix: static
#指定mvc視圖的前綴.

spring.mvc.view.suffix: .html
#指定mvc視圖的後綴.

messages

spring.messages.basename
#指定message的basename,多個以逗號分隔,如果不加包名的話,默認從classpath路徑開始,默認: messages

spring.messages.cache-seconds
#設定加載的資源文件緩存失效時間,-1的話為永不過期,默認為-1

spring.messages.encoding
#設定Message bundles的編碼,默認: UTF-8

mobile

spring.mobile.devicedelegatingviewresolver.enable-fallback
#是否支持fallback的解決方案,默認false

spring.mobile.devicedelegatingviewresolver.enabled
#是否開始device view resolver,默認為: false

spring.mobile.devicedelegatingviewresolver.mobile-prefix
#設定mobile端視圖的前綴,默認為:mobile/

spring.mobile.devicedelegatingviewresolver.mobile-suffix
#設定mobile視圖的後綴

spring.mobile.devicedelegatingviewresolver.normal-prefix
#設定普通設備的視圖前綴

spring.mobile.devicedelegatingviewresolver.normal-suffix
#設定普通設備視圖的後綴

spring.mobile.devicedelegatingviewresolver.tablet-prefix
#設定平板設備視圖前綴,默認:tablet/

spring.mobile.devicedelegatingviewresolver.tablet-suffix
#設定平板設備視圖後綴.

spring.mobile.sitepreference.enabled
#是否啟用SitePreferenceHandler,默認為: true

view

spring.view.prefix
#設定mvc視圖的前綴.

spring.view.suffix
#設定mvc視圖的後綴.

resource

spring.resources.add-mappings
#是否開啟默認的資源處理,默認為true

spring.resources.cache-period
#設定資源的緩存時效,以秒為單位.

spring.resources.chain.cache
#是否開啟緩存,默認為: true

spring.resources.chain.enabled
#是否開啟資源 handling chain,默認為false

spring.resources.chain.html-application-cache
#是否開啟h5應用的cache manifest重寫,默認為: false

spring.resources.chain.strategy.content.enabled
#是否開啟內容版本策略,默認為false

spring.resources.chain.strategy.content.paths
#指定要應用的版本的路徑,多個以逗號分隔,默認為:[/**]

spring.resources.chain.strategy.fixed.enabled
#是否開啟固定的版本策略,默認為false

spring.resources.chain.strategy.fixed.paths
#指定要應用版本策略的路徑,多個以逗號分隔

spring.resources.chain.strategy.fixed.version
#指定版本策略使用的版本號

spring.resources.static-locations
#指定靜態資源路徑,默認為classpath:[/META-INF/resources/,/resources/, /static/, /public/]以及context:/

multipart

multipart.enabled
#是否開啟文件上傳支持,默認為true

multipart.file-size-threshold
#設定文件寫入磁盤的閾值,單位為MB或KB,默認為0

multipart.location
#指定文件上傳路徑.

multipart.max-file-size
#指定文件大小最大值,默認1MB

multipart.max-request-size
#指定每次請求的最大值,默認為10MB

freemarker

spring.freemarker.allow-request-override
#指定HttpServletRequest的屬性是否可以覆蓋controller的model的同名項

spring.freemarker.allow-session-override
#指定HttpSession的屬性是否可以覆蓋controller的model的同名項

spring.freemarker.cache
#是否開啟template caching.

spring.freemarker.charset
#設定Template的編碼.

spring.freemarker.check-template-location
#是否檢查templates路徑是否存在.

spring.freemarker.content-type
#設定Content-Type.

spring.freemarker.enabled
#是否允許mvc使用freemarker.

spring.freemarker.expose-request-attributes
#設定所有request的屬性在merge到模板的時候,是否要都添加到model中.

spring.freemarker.expose-session-attributes
#設定所有HttpSession的屬性在merge到模板的時候,是否要都添加到model中.

spring.freemarker.expose-spring-macro-helpers
#設定是否以springMacroRequestContext的形式暴露RequestContext給Spring’s macro library使用

spring.freemarker.prefer-file-system-access
#是否優先從文件系統加載template,以支持熱加載,默認為true

spring.freemarker.prefix
#設定freemarker模板的前綴.

spring.freemarker.request-context-attribute
#指定RequestContext屬性的名.

spring.freemarker.settings
#設定FreeMarker keys.

spring.freemarker.suffix
#設定模板的後綴.

spring.freemarker.template-loader-path
#設定模板的加載路徑,多個以逗號分隔,默認: ["classpath:/templates/"]

spring.freemarker.view-names
#指定使用模板的視圖列表.

thymeleaf

spring.thymeleaf.cache
#是否開啟模板緩存,默認true

spring.thymeleaf.check-template-location
#是否檢查模板路徑是否存在,默認true

spring.thymeleaf.enabled
#是否允許MVC使用Thymeleaf,默認為: true

spring.thymeleaf.encoding
#指定模板的編碼,默認為: UTF-8

spring.thymeleaf.excluded-view-names
#指定不使用模板的視圖名稱,多個以逗號分隔.

spring.thymeleaf.mode
#指定模板的模式,具體查看StandardTemplateModeHandlers,默認為: HTML5

spring.thymeleaf.prefix
#指定模板的前綴,默認為:classpath:/templates/

spring.thymeleaf.suffix
#指定模板的後綴,默認為:.html

spring.thymeleaf.template-resolver-order
#指定模板的解析順序,默認為第一個.

spring.thymeleaf.view-names
#指定使用模板的視圖名,多個以逗號分隔.

mustcache

spring.mustache.cache
#是否Enable template caching.

spring.mustache.charset
#指定Template的編碼.

spring.mustache.check-template-location
#是否檢查默認的路徑是否存在.

spring.mustache.enabled
#是否開啟mustcache的模板支持.

spring.mustache.prefix
#指定模板的前綴,默認: classpath:/templates/

spring.mustache.suffix
#指定模板的後綴,默認: .html

spring.mustache.view-names
#指定要使用模板的視圖名.
groovy模板

spring.groovy.template.allow-request-override
#指定HttpServletRequest的屬性是否可以覆蓋controller的model的同名項

spring.groovy.template.allow-session-override
#指定HttpSession的屬性是否可以覆蓋controller的model的同名項

spring.groovy.template.cache
#是否開啟模板緩存.

spring.groovy.template.charset
#指定Template編碼.

spring.groovy.template.check-template-location
#是否檢查模板的路徑是否存在.

spring.groovy.template.configuration.auto-escape
#是否在渲染模板時自動排查model的變量,默認為: false

spring.groovy.template.configuration.auto-indent
#是否在渲染模板時自動縮進,默認為false

spring.groovy.template.configuration.auto-indent-string
#如果自動縮進啟用的話,是使用SPACES還是TAB,默認為: SPACES

spring.groovy.template.configuration.auto-new-line
#渲染模板時是否要輸出換行,默認為false

spring.groovy.template.configuration.base-template-class
#指定template base class.

spring.groovy.template.configuration.cache-templates
#是否要緩存模板,默認為true

spring.groovy.template.configuration.declaration-encoding
#在寫入declaration header時使用的編碼

spring.groovy.template.configuration.locale
#指定template locale.

spring.groovy.template.configuration.new-line-string
#當啟用自動換行時,換行的輸出,默認為系統的line.separator屬性的值

spring.groovy.template.configuration.resource-loader-path
#指定groovy的模板路徑,默認為classpath:/templates/

spring.groovy.template.configuration.use-double-quotes
#指定屬性要使用雙引號還是單引號,默認為false

spring.groovy.template.content-type
#指定Content-Type.

spring.groovy.template.enabled
#是否開啟groovy模板的支持.

spring.groovy.template.expose-request-attributes
#設定所有request的屬性在merge到模板的時候,是否要都添加到model中.

spring.groovy.template.expose-session-attributes
#設定所有session的屬性在merge到模板的時候,是否要都添加到model中.

spring.groovy.template.expose-spring-macro-helpers
#設定是否以springMacroRequestContext的形式暴露RequestContext給Spring’s macro library使用

spring.groovy.template.prefix
#指定模板的前綴.

spring.groovy.template.request-context-attribute
#指定RequestContext屬性的名.

spring.groovy.template.resource-loader-path
#指定模板的路徑,默認為: classpath:/templates/

spring.groovy.template.suffix
#指定模板的後綴

spring.groovy.template.view-names
#指定要使用模板的視圖名稱.

http

spring.hateoas.apply-to-primary-object-mapper
#設定是否對object mapper也支持HATEOAS,默認為: true

spring.http.converters.preferred-json-mapper
#是否優先使用JSON mapper來轉換.

spring.http.encoding.charset
#指定http請求和相應的Charset,默認: UTF-8

spring.http.encoding.enabled
#是否開啟http的編碼支持,默認為true

spring.http.encoding.force
#是否強制對http請求和響應進行編碼,默認為true

json

spring.jackson.date-format
#指定日期格式,比如yyyy-MM-dd HH:mm:ss,或者具體的格式化類的全限定名

spring.jackson.deserialization
#是否開啟Jackson的反序列化

spring.jackson.generator
#是否開啟json的generators.

spring.jackson.joda-date-time-format
#指定Joda date/time的格式,比如yyyy-MM-dd HH:mm:ss). 如果沒有配置的話,dateformat會作為backup

spring.jackson.locale
#指定json使用的Locale.

spring.jackson.mapper
#是否開啟Jackson通用的特性.

spring.jackson.parser
#是否開啟jackson的parser特性.

spring.jackson.property-naming-strategy
#指定PropertyNamingStrategy (CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES)或者指定PropertyNamingStrategy子類的全限定類名.

spring.jackson.serialization
#是否開啟jackson的序列化.

spring.jackson.serialization-inclusion
#指定序列化時屬性的inclusion方式,具體查看JsonInclude.Include枚舉.

spring.jackson.time-zone
#指定日期格式化時區,比如America/Los_Angeles或者GMT+10.

jersey

spring.jersey.filter.order
#指定Jersey filter的order,默認為: 0

spring.jersey.init
#指定傳遞給Jersey的初始化參數.

spring.jersey.type
#指定Jersey的集成類型,可以是servlet或者filter.


作者有話說:喜歡的話就請移步Java面試必修網,請自備水,更多幹、幹、幹貨等著你

微服務 SpringBoot 2.0(六):常用配置(properties、yml)