溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Spring Boot配置方式的示例分析

發(fā)布時(shí)間:2021-07-08 13:52:45 來(lái)源:億速云 閱讀:166 作者:小新 欄目:編程語(yǔ)言

這篇文章給大家分享的是有關(guān)Spring Boot配置方式的示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

Spring Boot 允許通過(guò)外部配置讓你在不同的環(huán)境使用同一應(yīng)用程序的代碼,簡(jiǎn)單說(shuō)就是可以通過(guò)配置文件來(lái)注入屬性或者修改默認(rèn)的配置。

SpringBoot的配置方式有很多,它們的優(yōu)先級(jí)如下所示(優(yōu)先級(jí)遞減順序):

1.命令行參數(shù)
2.來(lái)自java:comp/env的JNDI屬性
3.Java系統(tǒng)屬性(System.getProperties())
4.操作系統(tǒng)環(huán)境變量
5.RandomValuePropertySource配置的random.*屬性值
6.jar包外部的application-{profile}.properties或application.yml(帶spring.profile)配置文件
7.jar包內(nèi)部的application-{profile}.properties或application.yml(帶spring.profile)配置文件
8.jar包外部的application.properties或application.yml(不帶spring.profile)配置文件
9.jar包內(nèi)部的application.properties或application.yml(不帶spring.profile)配置文件
10.@Configuration注解類上的@PropertySource
11.通過(guò)SpringApplication.setDefaultProperties指定的默認(rèn)屬性

mvc

spring.mvc.async.request-timeout
設(shè)定async請(qǐng)求的超時(shí)時(shí)間,以毫秒為單位,如果沒(méi)有設(shè)置的話,以具體實(shí)現(xiàn)的超時(shí)時(shí)間為準(zhǔn),比如tomcat的servlet3的話是10秒.

spring.mvc.date-format
設(shè)定日期的格式,比如dd/MM/yyyy.

spring.mvc.favicon.enabled
是否支持favicon.ico,默認(rèn)為: true

spring.mvc.ignore-default-model-on-redirect
在重定向時(shí)是否忽略默認(rèn)model的內(nèi)容,默認(rèn)為true

spring.mvc.locale
指定使用的Locale.

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

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

spring.mvc.view.suffix
指定mvc視圖的后綴.

messages

spring.messages.basename
指定message的basename,多個(gè)以逗號(hào)分隔,如果不加包名的話,默認(rèn)從classpath路徑開(kāi)始,默認(rèn): messages

spring.messages.cache-seconds
設(shè)定加載的資源文件緩存失效時(shí)間,-1的話為永不過(guò)期,默認(rèn)為-1

spring.messages.encoding
設(shè)定Message bundles的編碼,默認(rèn): UTF-8

mobile

spring.mobile.devicedelegatingviewresolver.enable-fallback
是否支持fallback的解決方案,默認(rèn)false

spring.mobile.devicedelegatingviewresolver.enabled
是否開(kāi)始device view resolver,默認(rèn)為: false

spring.mobile.devicedelegatingviewresolver.mobile-prefix
設(shè)定mobile端視圖的前綴,默認(rèn)為:mobile/

spring.mobile.devicedelegatingviewresolver.mobile-suffix
設(shè)定mobile視圖的后綴

spring.mobile.devicedelegatingviewresolver.normal-prefix
設(shè)定普通設(shè)備的視圖前綴

spring.mobile.devicedelegatingviewresolver.normal-suffix
設(shè)定普通設(shè)備視圖的后綴

spring.mobile.devicedelegatingviewresolver.tablet-prefix
設(shè)定平板設(shè)備視圖前綴,默認(rèn):tablet/

spring.mobile.devicedelegatingviewresolver.tablet-suffix
設(shè)定平板設(shè)備視圖后綴.

spring.mobile.sitepreference.enabled
是否啟用SitePreferenceHandler,默認(rèn)為: true

view

spring.view.prefix
設(shè)定mvc視圖的前綴.

spring.view.suffix
設(shè)定mvc視圖的后綴.

resource

spring.resources.add-mappings
是否開(kāi)啟默認(rèn)的資源處理,默認(rèn)為true

spring.resources.cache-period
設(shè)定資源的緩存時(shí)效,以秒為單位.

spring.resources.chain.cache
是否開(kāi)啟緩存,默認(rèn)為: true

spring.resources.chain.enabled
是否開(kāi)啟資源 handling chain,默認(rèn)為false

spring.resources.chain.html-application-cache
是否開(kāi)啟h6應(yīng)用的cache manifest重寫,默認(rèn)為: false

spring.resources.chain.strategy.content.enabled
是否開(kāi)啟內(nèi)容版本策略,默認(rèn)為false

spring.resources.chain.strategy.content.paths
指定要應(yīng)用的版本的路徑,多個(gè)以逗號(hào)分隔,默認(rèn)為:[/**]

spring.resources.chain.strategy.fixed.enabled
是否開(kāi)啟固定的版本策略,默認(rèn)為false

spring.resources.chain.strategy.fixed.paths
指定要應(yīng)用版本策略的路徑,多個(gè)以逗號(hào)分隔

spring.resources.chain.strategy.fixed.version
指定版本策略使用的版本號(hào)

spring.resources.static-locations
指定靜態(tài)資源路徑,默認(rèn)為classpath:[/META-INF/resources/,/resources/, /static/, /public/]以及context:/

multipart

multipart.enabled
是否開(kāi)啟文件上傳支持,默認(rèn)為true

multipart.file-size-threshold
設(shè)定文件寫入磁盤的閾值,單位為MB或KB,默認(rèn)為0

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

multipart.max-file-size
指定文件大小最大值,默認(rèn)1MB

multipart.max-request-size
指定每次請(qǐng)求的最大值,默認(rèn)為10MB

freemarker

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

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

spring.freemarker.cache
是否開(kāi)啟template caching.

spring.freemarker.charset
設(shè)定Template的編碼.

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

spring.freemarker.content-type
設(shè)定Content-Type.

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

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

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

spring.freemarker.expose-spring-macro-helpers
設(shè)定是否以springMacroRequestContext的形式暴露RequestContext給Spring's macro library使用

spring.freemarker.prefer-file-system-access
是否優(yōu)先從文件系統(tǒng)加載template,以支持熱加載,默認(rèn)為true

spring.freemarker.prefix
設(shè)定freemarker模板的前綴.

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

spring.freemarker.settings
設(shè)定FreeMarker keys.

spring.freemarker.suffix
設(shè)定模板的后綴.

spring.freemarker.template-loader-path
設(shè)定模板的加載路徑,多個(gè)以逗號(hào)分隔,默認(rèn): [“classpath:/templates/”]

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

velocity

spring.velocity.allow-request-override
指定HttpServletRequest的屬性是否可以覆蓋controller的model的同名項(xiàng)

spring.velocity.allow-session-override
指定HttpSession的屬性是否可以覆蓋controller的model的同名項(xiàng)

spring.velocity.cache
是否開(kāi)啟模板緩存

spring.velocity.charset
設(shè)定模板編碼

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

spring.velocity.content-type
設(shè)定ContentType的值

spring.velocity.date-tool-attribute
設(shè)定暴露給velocity上下文使用的DateTool的名

spring.velocity.enabled
設(shè)定是否允許mvc使用velocity

spring.velocity.expose-request-attributes
是否在merge模板的時(shí)候,將request屬性都添加到model中

spring.velocity.expose-session-attributes
是否在merge模板的時(shí)候,將HttpSession屬性都添加到model中

spring.velocity.expose-spring-macro-helpers
設(shè)定是否以springMacroRequestContext的名來(lái)暴露RequestContext給Spring's macro類庫(kù)使用

spring.velocity.number-tool-attribute
設(shè)定暴露給velocity上下文的NumberTool的名

spring.velocity.prefer-file-system-access
是否優(yōu)先從文件系統(tǒng)加載模板以支持熱加載,默認(rèn)為true

spring.velocity.prefix
設(shè)定velocity模板的前綴.

spring.velocity.properties
設(shè)置velocity的額外屬性.

spring.velocity.request-context-attribute
設(shè)定RequestContext attribute的名.

spring.velocity.resource-loader-path
設(shè)定模板路徑,默認(rèn)為: classpath:/templates/

spring.velocity.suffix
設(shè)定velocity模板的后綴.

spring.velocity.toolbox-config-location
設(shè)定Velocity Toolbox配置文件的路徑,比如 /WEB-INF/toolbox.xml.

spring.velocity.view-names
設(shè)定需要解析的視圖名稱.

thymeleaf

spring.thymeleaf.cache
是否開(kāi)啟模板緩存,默認(rèn)true

spring.thymeleaf.check-template-location
是否檢查模板路徑是否存在,默認(rèn)true

spring.thymeleaf.content-type
指定Content-Type,默認(rèn)為: text/html

spring.thymeleaf.enabled
是否允許MVC使用Thymeleaf,默認(rèn)為: true

spring.thymeleaf.encoding
指定模板的編碼,默認(rèn)為: UTF-8

spring.thymeleaf.excluded-view-names
指定不使用模板的視圖名稱,多個(gè)以逗號(hào)分隔.

spring.thymeleaf.mode
指定模板的模式,具體查看StandardTemplateModeHandlers,默認(rèn)為: HTML5

spring.thymeleaf.prefix
指定模板的前綴,默認(rèn)為:classpath:/templates/

spring.thymeleaf.suffix
指定模板的后綴,默認(rèn)為:.html

spring.thymeleaf.template-resolver-order
指定模板的解析順序,默認(rèn)為第一個(gè).

spring.thymeleaf.view-names
指定使用模板的視圖名,多個(gè)以逗號(hào)分隔.

mustcache

spring.mustache.cache
是否Enable template caching.

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

spring.mustache.check-template-location
是否檢查默認(rèn)的路徑是否存在.

spring.mustache.content-type
指定Content-Type.

spring.mustache.enabled
是否開(kāi)啟mustcache的模板支持.

spring.mustache.prefix
指定模板的前綴,默認(rèn): classpath:/templates/

spring.mustache.suffix
指定模板的后綴,默認(rèn): .html

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

groovy模板

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

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

spring.groovy.template.cache
是否開(kāi)啟模板緩存.

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

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

spring.groovy.template.configuration.auto-escape
是否在渲染模板時(shí)自動(dòng)排查model的變量,默認(rèn)為: false

spring.groovy.template.configuration.auto-indent
是否在渲染模板時(shí)自動(dòng)縮進(jìn),默認(rèn)為false

spring.groovy.template.configuration.auto-indent-string
如果自動(dòng)縮進(jìn)啟用的話,是使用SPACES還是TAB,默認(rèn)為: SPACES

spring.groovy.template.configuration.auto-new-line
渲染模板時(shí)是否要輸出換行,默認(rèn)為false

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

spring.groovy.template.configuration.cache-templates
是否要緩存模板,默認(rèn)為true

spring.groovy.template.configuration.declaration-encoding
在寫入declaration header時(shí)使用的編碼

spring.groovy.template.configuration.expand-empty-elements
是使用<br/>這種形式,還是<br></br>這種展開(kāi)模式,默認(rèn)為: false)

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

spring.groovy.template.configuration.new-line-string
當(dāng)啟用自動(dòng)換行時(shí),換行的輸出,默認(rèn)為系統(tǒng)的line.separator屬性的值

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

spring.groovy.template.configuration.use-double-quotes
指定屬性要使用雙引號(hào)還是單引號(hào),默認(rèn)為false

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

spring.groovy.template.enabled
是否開(kāi)啟groovy模板的支持.

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

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

spring.groovy.template.expose-spring-macro-helpers
設(shè)定是否以springMacroRequestContext的形式暴露RequestContext給Spring's macro library使用

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

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

spring.groovy.template.resource-loader-path
指定模板的路徑,默認(rèn)為: classpath:/templates/

spring.groovy.template.suffix
指定模板的后綴

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

http

spring.hateoas.apply-to-primary-object-mapper
設(shè)定是否對(duì)object mapper也支持HATEOAS,默認(rèn)為: true

spring.http.converters.preferred-json-mapper
是否優(yōu)先使用JSON mapper來(lái)轉(zhuǎn)換.

spring.http.encoding.charset
指定http請(qǐng)求和相應(yīng)的Charset,默認(rèn): UTF-8

spring.http.encoding.enabled
是否開(kāi)啟http的編碼支持,默認(rèn)為true

spring.http.encoding.force
是否強(qiáng)制對(duì)http請(qǐng)求和響應(yīng)進(jìn)行編碼,默認(rèn)為true

json

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

spring.jackson.deserialization
是否開(kāi)啟Jackson的反序列化

spring.jackson.generator
是否開(kāi)啟json的generators.

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

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

spring.jackson.mapper
是否開(kāi)啟Jackson通用的特性.

spring.jackson.parser
是否開(kāi)啟jackson的parser特性.

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

spring.jackson.serialization
是否開(kāi)啟jackson的序列化.

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

spring.jackson.time-zone
指定日期格式化時(shí)區(qū),比如America/Los_Angeles或者GMT+10.

jersey

spring.jersey.filter.order
指定Jersey filter的order,默認(rèn)為: 0

spring.jersey.init
指定傳遞給Jersey的初始化參數(shù).

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

感謝各位的閱讀!關(guān)于“Spring Boot配置方式的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI