1、SpringBoot配置文件默認為application.*和application-default.*,如果通過spring.config.name屬性指定了自定義配置文件名則加載讀取指定的配置文件;擴展名有四個:*.properties、*.xml、*.yml、*.yaml;
2、spring.factories中加載配置文件的順序為:
1 file:./config/application.properties 2 file:./config/application.xml 3 file:./config/application.yml 4 file:./config/application.yaml 5 6 file:./application.properties 7 file:./application.xml 8 file:./application.yml 9 file:./application.yaml 10 11 classpath:/config/application.properties 12 classpath:/config/application.xml 13 classpath:/config/application.yml 14 classpath:/config/application.yaml 15 16 classpath:/application.properties 17 classpath:/application.xml 18 classpath:/application.yml 19 classpath:/application.yaml 20 21 file:./config/application-default.properties 22 file:./config/application-default.xml 23 file:./config/application-default.yml 24 file:./config/application-default.yaml 25 26 file:./application-default.properties 27 file:./application-default.xml 28 file:./application-default.yml 29 file:./application-default.yaml 30 31 classpath:/config/application-default.properties 32 classpath:/config/application-default.xml 33 classpath:/config/application-default.yml 34 classpath:/config/application-default.yaml 35 36 classpath:/application-default.properties 37 classpath:/application-default.xml 38 classpath:/application-default.yml 39 classpath:/application-default.yaml
3、取值時讀取配置文件的順序為:properties->yaml->yml;
4、常用的Spring Boot配置說明:
1 MVC相關 2 mvc 3 spring.mvc.async.request-timeout設定async請求的超時時間,以毫秒為單位,如果沒有設置的話,以具體實現的超時時間為准,比如tomcat的servlet3的話是10秒. 4 spring.mvc.date-format設定日期的格式,比如dd/MM/yyyy. 5 spring.mvc.favicon.enabled是否支持favicon.ico,默認為: true 6 spring.mvc.ignore-default-model-on-redirect在重定向時是否忽略默認model的內容,默認為true 7 spring.mvc.locale指定使用的Locale. 8 spring.mvc.message-codes-resolver-format指定message codes的格式化策略(PREFIX_ERROR_CODE,POSTFIX_ERROR_CODE). 9 spring.mvc.view.prefix指定mvc視圖的前綴. 10 spring.mvc.view.suffix指定mvc視圖的后綴. 11 12 messages 13 spring.messages.basename指定message的basename,多個以逗號分隔,如果不加包名的話,默認從classpath路徑開始,默認: messages 14 spring.messages.cache-seconds設定加載的資源文件緩存失效時間,-1的話為永不過期,默認為-1 15 spring.messages.encoding設定Message bundles的編碼,默認: UTF-8 16 17 mobile 18 spring.mobile.devicedelegatingviewresolver.enable-fallback是否支持fallback的解決方案,默認false 19 spring.mobile.devicedelegatingviewresolver.enabled是否開始device view resolver,默認為: false 20 spring.mobile.devicedelegatingviewresolver.mobile-prefix設定mobile端視圖的前綴,默認為:mobile/ 21 spring.mobile.devicedelegatingviewresolver.mobile-suffix設定mobile視圖的后綴 22 spring.mobile.devicedelegatingviewresolver.normal-prefix設定普通設備的視圖前綴 23 spring.mobile.devicedelegatingviewresolver.normal-suffix設定普通設備視圖的后綴 24 spring.mobile.devicedelegatingviewresolver.tablet-prefix設定平板設備視圖前綴,默認:tablet/ 25 spring.mobile.devicedelegatingviewresolver.tablet-suffix設定平板設備視圖后綴. 26 spring.mobile.sitepreference.enabled是否啟用SitePreferenceHandler,默認為: true 27 28 view 29 spring.view.prefix設定mvc視圖的前綴. 30 spring.view.suffix設定mvc視圖的后綴. 31 32 resource 33 spring.resources.add-mappings是否開啟默認的資源處理,默認為true 34 spring.resources.cache-period設定資源的緩存時效,以秒為單位. 35 spring.resources.chain.cache是否開啟緩存,默認為: true 36 spring.resources.chain.enabled是否開啟資源 handling chain,默認為false 37 spring.resources.chain.html-application-cache是否開啟h5應用的cache manifest重寫,默認為: false 38 spring.resources.chain.strategy.content.enabled是否開啟內容版本策略,默認為false 39 spring.resources.chain.strategy.content.paths指定要應用的版本的路徑,多個以逗號分隔,默認為:[/**] 40 spring.resources.chain.strategy.fixed.enabled是否開啟固定的版本策略,默認為false 41 spring.resources.chain.strategy.fixed.paths指定要應用版本策略的路徑,多個以逗號分隔 42 spring.resources.chain.strategy.fixed.version指定版本策略使用的版本號 43 spring.resources.static-locations指定靜態資源路徑,默認為classpath:[/META-INF/resources/,/resources/, /static/, /public/]以及context:/ 44 45 multipart 46 multipart.enabled是否開啟文件上傳支持,默認為true 47 multipart.file-size-threshold設定文件寫入磁盤的閾值,單位為MB或KB,默認為0 48 multipart.location指定文件上傳路徑. 49 multipart.max-file-size指定文件大小最大值,默認1MB 50 multipart.max-request-size指定每次請求的最大值,默認為10MB 51 52 freemarker 53 spring.freemarker.allow-request-override指定HttpServletRequest的屬性是否可以覆蓋controller的model的同名項 54 spring.freemarker.allow-session-override指定HttpSession的屬性是否可以覆蓋controller的model的同名項 55 spring.freemarker.cache是否開啟template caching. 56 spring.freemarker.charset設定Template的編碼. 57 spring.freemarker.check-template-location是否檢查templates路徑是否存在. 58 spring.freemarker.content-type設定Content-Type. 59 spring.freemarker.enabled是否允許mvc使用freemarker. 60 spring.freemarker.expose-request-attributes設定所有request的屬性在merge到模板的時候,是否要都添加到model中. 61 spring.freemarker.expose-session-attributes設定所有HttpSession的屬性在merge到模板的時候,是否要都添加到model中. 62 spring.freemarker.expose-spring-macro-helpers設定是否以springMacroRequestContext的形式暴露RequestContext給Spring’s macro library使用 63 spring.freemarker.prefer-file-system-access是否優先從文件系統加載template,以支持熱加載,默認為true 64 spring.freemarker.prefix設定freemarker模板的前綴. 65 spring.freemarker.request-context-attribute指定RequestContext屬性的名. 66 spring.freemarker.settings設定FreeMarker keys. 67 spring.freemarker.suffix設定模板的后綴. 68 spring.freemarker.template-loader-path設定模板的加載路徑,多個以逗號分隔,默認: [“classpath:/templates/”] 69 spring.freemarker.view-names指定使用模板的視圖列表. 70 71 velocity 72 spring.velocity.allow-request-override指定HttpServletRequest的屬性是否可以覆蓋controller的model的同名項 73 spring.velocity.allow-session-override指定HttpSession的屬性是否可以覆蓋controller的model的同名項 74 spring.velocity.cache是否開啟模板緩存 75 spring.velocity.charset設定模板編碼 76 spring.velocity.check-template-location是否檢查模板路徑是否存在. 77 spring.velocity.content-type設定ContentType的值 78 spring.velocity.date-tool-attribute設定暴露給velocity上下文使用的DateTool的名 79 spring.velocity.enabled設定是否允許mvc使用velocity 80 spring.velocity.expose-request-attributes是否在merge模板的時候,將request屬性都添加到model中 81 spring.velocity.expose-session-attributes是否在merge模板的時候,將HttpSession屬性都添加到model中 82 spring.velocity.expose-spring-macro-helpers設定是否以springMacroRequestContext的名來暴露RequestContext給Spring’s macro類庫使用 83 spring.velocity.number-tool-attribute設定暴露給velocity上下文的NumberTool的名 84 spring.velocity.prefer-file-system-access是否優先從文件系統加載模板以支持熱加載,默認為true 85 spring.velocity.prefix設定velocity模板的前綴. 86 spring.velocity.properties設置velocity的額外屬性. 87 spring.velocity.request-context-attribute設定RequestContext attribute的名. 88 spring.velocity.resource-loader-path設定模板路徑,默認為: classpath:/templates/ 89 spring.velocity.suffix設定velocity模板的后綴. 90 spring.velocity.toolbox-config-location設定Velocity Toolbox配置文件的路徑,比如 /WEB-INF/toolbox.xml. 91 spring.velocity.view-names設定需要解析的視圖名稱. 92 93 thymeleaf 94 spring.thymeleaf.cache是否開啟模板緩存,默認true 95 spring.thymeleaf.check-template-location是否檢查模板路徑是否存在,默認true 96 spring.thymeleaf.content-type指定Content-Type,默認為: text/html 97 spring.thymeleaf.enabled是否允許MVC使用Thymeleaf,默認為: true 98 spring.thymeleaf.encoding指定模板的編碼,默認為: UTF-8 99 spring.thymeleaf.excluded-view-names指定不使用模板的視圖名稱,多個以逗號分隔. 100 spring.thymeleaf.mode指定模板的模式,具體查看StandardTemplateModeHandlers,默認為: HTML5 101 spring.thymeleaf.prefix指定模板的前綴,默認為:classpath:/templates/ 102 spring.thymeleaf.suffix指定模板的后綴,默認為:.html 103 spring.thymeleaf.template-resolver-order指定模板的解析順序,默認為第一個. 104 spring.thymeleaf.view-names指定使用模板的視圖名,多個以逗號分隔. 105 106 mustcache 107 spring.mustache.cache是否Enable template caching. 108 spring.mustache.charset指定Template的編碼. 109 spring.mustache.check-template-location是否檢查默認的路徑是否存在. 110 spring.mustache.content-type指定Content-Type. 111 spring.mustache.enabled是否開啟mustcache的模板支持. 112 spring.mustache.prefix指定模板的前綴,默認: classpath:/templates/ 113 spring.mustache.suffix指定模板的后綴,默認: .html 114 spring.mustache.view-names指定要使用模板的視圖名. 115 116 groovy模板 117 spring.groovy.template.allow-request-override指定HttpServletRequest的屬性是否可以覆蓋controller的model的同名項 118 spring.groovy.template.allow-session-override指定HttpSession的屬性是否可以覆蓋controller的model的同名項 119 spring.groovy.template.cache是否開啟模板緩存. 120 spring.groovy.template.charset指定Template編碼. 121 spring.groovy.template.check-template-location是否檢查模板的路徑是否存在. 122 spring.groovy.template.configuration.auto-escape是否在渲染模板時自動排查model的變量,默認為: false 123 spring.groovy.template.configuration.auto-indent是否在渲染模板時自動縮進,默認為false 124 spring.groovy.template.configuration.auto-indent-string如果自動縮進啟用的話,是使用SPACES還是TAB,默認為: SPACES 125 spring.groovy.template.configuration.auto-new-line渲染模板時是否要輸出換行,默認為false 126 spring.groovy.template.configuration.base-template-class指定template base class. 127 spring.groovy.template.configuration.cache-templates是否要緩存模板,默認為true 128 spring.groovy.template.configuration.declaration-encoding在寫入declaration header時使用的編碼 129 spring.groovy.template.configuration.expand-empty-elements 130 是使用 131 這種形式,還是 132 這種展開模式,默認為: false) 133 spring.groovy.template.configuration.locale指定template locale. 134 spring.groovy.template.configuration.new-line-string當啟用自動換行時,換行的輸出,默認為系統的line.separator屬性的值 135 spring.groovy.template.configuration.resource-loader-path指定groovy的模板路徑,默認為classpath:/templates/ 136 spring.groovy.template.configuration.use-double-quotes指定屬性要使用雙引號還是單引號,默認為false 137 spring.groovy.template.content-type指定Content-Type. 138 spring.groovy.template.enabled是否開啟groovy模板的支持. 139 spring.groovy.template.expose-request-attributes設定所有request的屬性在merge到模板的時候,是否要都添加到model中. 140 spring.groovy.template.expose-session-attributes設定所有request的屬性在merge到模板的時候,是否要都添加到model中. 141 spring.groovy.template.expose-spring-macro-helpers設定是否以springMacroRequestContext的形式暴露RequestContext給Spring’s macro library使用 142 spring.groovy.template.prefix指定模板的前綴. 143 spring.groovy.template.request-context-attribute指定RequestContext屬性的名. 144 spring.groovy.template.resource-loader-path指定模板的路徑,默認為: classpath:/templates/ 145 spring.groovy.template.suffix指定模板的后綴 146 spring.groovy.template.view-names指定要使用模板的視圖名稱. 147 148 http 149 spring.hateoas.apply-to-primary-object-mapper設定是否對object mapper也支持HATEOAS,默認為: true 150 spring.http.converters.preferred-json-mapper是否優先使用JSON mapper來轉換. 151 spring.http.encoding.charset指定http請求和相應的Charset,默認: UTF-8 152 spring.http.encoding.enabled是否開啟http的編碼支持,默認為true 153 spring.http.encoding.force是否強制對http請求和響應進行編碼,默認為true 154 155 json 156 spring.jackson.date-format指定日期格式,比如yyyy-MM-dd HH:mm:ss,或者具體的格式化類的全限定名 157 spring.jackson.deserialization是否開啟Jackson的反序列化 158 spring.jackson.generator是否開啟json的generators. 159 spring.jackson.joda-date-time-format指定Joda date/time的格式,比如yyyy-MM-dd HH:mm:ss). 如果沒有配置的話,dateformat會作為backup 160 spring.jackson.locale指定json使用的Locale. 161 spring.jackson.mapper是否開啟Jackson通用的特性. 162 spring.jackson.parser是否開啟jackson的parser特性. 163 spring.jackson.property-naming-strategy指定PropertyNamingStrategy (CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES)或者指定PropertyNamingStrategy子類的全限定類名. 164 spring.jackson.serialization是否開啟jackson的序列化. 165 spring.jackson.serialization-inclusion指定序列化時屬性的inclusion方式,具體查看JsonInclude.Include枚舉. 166 spring.jackson.time-zone指定日期格式化時區,比如America/Los_Angeles或者GMT+10. 167 168 jersey 169 spring.jersey.filter.order指定Jersey filter的order,默認為: 0 170 spring.jersey.init指定傳遞給Jersey的初始化參數. 171 spring.jersey.type指定Jersey的集成類型,可以是servlet或者filter. 172 173 server相關 174 server配置 175 server.address指定server綁定的地址 176 server.compression.enabled是否開啟壓縮,默認為false. 177 server.compression.excluded-user-agents指定不壓縮的user-agent,多個以逗號分隔,默認值為:text/html,text/xml,text/plain,text/css 178 server.compression.mime-types指定要壓縮的MIME type,多個以逗號分隔. 179 server.compression.min-response-size執行壓縮的閾值,默認為2048 180 server.context-parameters.[param name]設置servlet context 參數 181 server.context-path設定應用的context-path. 182 server.display-name設定應用的展示名稱,默認: application 183 server.jsp-servlet.class-name設定編譯JSP用的servlet,默認: org.apache.jasper 184 .servlet.JspServlet) 185 server.jsp-servlet.init-parameters.[param name]設置JSP servlet 初始化參數. 186 server.jsp-servlet.registered設定JSP servlet是否注冊到內嵌的servlet容器,默認true 187 server.port設定http監聽端口 188 server.servlet-path設定dispatcher servlet的監聽路徑,默認為: / 189 190 cookie、session配置 191 server.session.cookie.comment指定session cookie的comment 192 server.session.cookie.domain指定session cookie的domain 193 server.session.cookie.http-only是否開啟HttpOnly. 194 server.session.cookie.max-age設定session cookie的最大age. 195 server.session.cookie.name設定Session cookie 的名稱. 196 server.session.cookie.path設定session cookie的路徑. 197 server.session.cookie.secure設定session cookie的“Secure” flag. 198 server.session.persistent重啟時是否持久化session,默認false 199 server.session.timeoutsession的超時時間 200 server.session.tracking-modes設定Session的追蹤模式(cookie, url, ssl). 201 202 ssl配置 203 server.ssl.ciphers是否支持SSL ciphers. 204 server.ssl.client-auth設定client authentication是wanted 還是 needed. 205 server.ssl.enabled是否開啟ssl,默認: true 206 server.ssl.key-alias設定key store中key的別名. 207 server.ssl.key-password訪問key store中key的密碼. 208 server.ssl.key-store設定持有SSL certificate的key store的路徑,通常是一個.jks文件. 209 server.ssl.key-store-password設定訪問key store的密碼. 210 server.ssl.key-store-provider設定key store的提供者. 211 server.ssl.key-store-type設定key store的類型. 212 server.ssl.protocol使用的SSL協議,默認: TLS 213 server.ssl.trust-store持有SSL certificates的Trust store. 214 server.ssl.trust-store-password訪問trust store的密碼. 215 server.ssl.trust-store-provider設定trust store的提供者. 216 server.ssl.trust-store-type指定trust store的類型. 217 218 tomcat 219 server.tomcat.access-log-enabled是否開啟access log ,默認: false) 220 server.tomcat.access-log-pattern設定access logs的格式,默認: common 221 server.tomcat.accesslog.directory設定log的目錄,默認: logs 222 server.tomcat.accesslog.enabled是否開啟access log,默認: false 223 server.tomcat.accesslog.pattern設定access logs的格式,默認: common 224 server.tomcat.accesslog.prefix設定Log 文件的前綴,默認: access_log 225 server.tomcat.accesslog.suffix設定Log 文件的后綴,默認: .log 226 server.tomcat.background-processor-delay后台線程方法的Delay大小: 30 227 server.tomcat.basedir設定Tomcat的base 目錄,如果沒有指定則使用臨時目錄. 228 server.tomcat.internal-proxies設定信任的正則表達式,默認:“10.\d{1,3}.\d{1,3}.\d{1,3}| 192.168.\d{1,3}.\d{1,3}| 169.254.\d{1,3}.\d{1,3}| 127.\d{1,3}.\d{1,3}.\d{1,3}| 172.1[6-9]{1}.\d{1,3}.\d{1,3}| 172.2[0-9]{1}.\d{1,3}.\d{1,3}|172.3[0-1]{1}.\d{1,3}.\d{1,3}” 229 server.tomcat.max-http-header-size設定http header的最小值,默認: 0 230 server.tomcat.max-threads設定tomcat的最大工作線程數,默認為: 0 231 server.tomcat.port-header設定http header使用的,用來覆蓋原來port的value. 232 server.tomcat.protocol-header設定Header包含的協議,通常是 X-Forwarded-Proto,如果remoteIpHeader有值,則將設置為RemoteIpValve. 233 server.tomcat.protocol-header-https-value設定使用SSL的header的值,默認https. 234 server.tomcat.remote-ip-header設定remote IP的header,如果remoteIpHeader有值,則設置為RemoteIpValve 235 server.tomcat.uri-encoding設定URI的解碼字符集. 236 237 undertow 238 server.undertow.access-log-dir設定Undertow access log 的目錄,默認: logs 239 server.undertow.access-log-enabled是否開啟access log,默認: false 240 server.undertow.access-log-pattern設定access logs的格式,默認: common 241 server.undertow.accesslog.dir設定access log 的目錄. 242 server.undertow.buffer-size設定buffer的大小. 243 server.undertow.buffers-per-region設定每個region的buffer數 244 server.undertow.direct-buffers設定堆外內存 245 server.undertow.io-threads設定I/O線程數. 246 server.undertow.worker-threads設定工作線程數 247 248 datasource相關 249 datasource 250 spring.dao.exceptiontranslation.enabled是否開啟PersistenceExceptionTranslationPostProcessor,默認為true 251 spring.datasource.abandon-when-percentage-full設定超時被廢棄的連接占到多少比例時要被關閉或上報 252 spring.datasource.allow-pool-suspension使用Hikari pool時,是否允許連接池暫停,默認為: false 253 spring.datasource.alternate-username-allowed是否允許替代的用戶名. 254 spring.datasource.auto-commit指定updates是否自動提交. 255 spring.datasource.catalog指定默認的catalog. 256 spring.datasource.commit-on-return設置當連接被歸還時,是否要提交所有還未完成的事務 257 spring.datasource.connection-init-sql指定連接被創建,再被添加到連接池之前執行的sql. 258 spring.datasource.connection-init-sqls使用DBCP connection pool時,指定初始化時要執行的sql 259 spring.datasource.connection-properties.[key]在使用DBCP connection pool時指定要配置的屬性 260 spring.datasource.connection-test-query指定校驗連接合法性執行的sql語句 261 spring.datasource.connection-timeout指定連接的超時時間,毫秒單位. 262 spring.datasource.continue-on-error在初始化數據庫時,遇到錯誤是否繼續,默認false 263 spring.datasource.data指定Data (DML)腳本 264 spring.datasource.data-source-class-name指定數據源的全限定名. 265 spring.datasource.data-source-jndi指定jndi的地址 266 spring.datasource.data-source-properties.[key]使用Hikari connection pool時,指定要設置的屬性 267 spring.datasource.db-properties使用Tomcat connection pool,指定要設置的屬性 268 spring.datasource.default-auto-commit是否自動提交. 269 spring.datasource.default-catalog指定連接默認的catalog. 270 spring.datasource.default-read-only是否設置默認連接只讀. 271 spring.datasource.default-transaction-isolation指定連接的事務的默認隔離級別. 272 spring.datasource.driver-class-name指定driver的類名,默認從jdbc url中自動探測. 273 spring.datasource.fair-queue是否采用FIFO返回連接. 274 spring.datasource.health-check-properties.[key]使用Hikari connection pool時,在心跳檢查時傳遞的屬性 275 spring.datasource.idle-timeout指定連接多久沒被使用時,被設置為空閑,默認為10ms 276 spring.datasource.ignore-exception-on-pre-load當初始化連接池時,是否忽略異常. 277 spring.datasource.init-sql當連接創建時,執行的sql 278 spring.datasource.initial-size指定啟動連接池時,初始建立的連接數量 279 spring.datasource.initialization-fail-fast當創建連接池時,沒法創建指定最小連接數量是否拋異常 280 spring.datasource.initialize指定初始化數據源,是否用data.sql來初始化,默認: true 281 spring.datasource.isolate-internal-queries指定內部查詢是否要被隔離,默認為false 282 spring.datasource.jdbc-interceptors使用Tomcat connection pool時,指定jdbc攔截器,分號分隔 283 spring.datasource.jdbc-url指定JDBC URL. 284 spring.datasource.jmx-enabled是否開啟JMX,默認為: false 285 spring.datasource.jndi-name指定jndi的名稱. 286 spring.datasource.leak-detection-threshold使用Hikari connection pool時,多少毫秒檢測一次連接泄露. 287 spring.datasource.log-abandoned使用DBCP connection pool,是否追蹤廢棄statement或連接,默認為: false 288 spring.datasource.log-validation-errors當使用Tomcat connection pool是否打印校驗錯誤. 289 spring.datasource.login-timeout指定連接數據庫的超時時間. 290 spring.datasource.max-active指定連接池中最大的活躍連接數. 291 spring.datasource.max-age指定連接池中連接的最大年齡 292 spring.datasource.max-idle指定連接池最大的空閑連接數量. 293 spring.datasource.max-lifetime指定連接池中連接的最大生存時間,毫秒單位. 294 spring.datasource.max-open-prepared-statements指定最大的打開的prepared statements數量. 295 spring.datasource.max-wait指定連接池等待連接返回的最大等待時間,毫秒單位. 296 spring.datasource.maximum-pool-size指定連接池最大的連接數,包括使用中的和空閑的連接. 297 spring.datasource.min-evictable-idle-time-millis指定一個空閑連接最少空閑多久后可被清除. 298 spring.datasource.min-idle指定必須保持連接的最小值(For DBCP and Tomcat connection pools) 299 spring.datasource.minimum-idle指定連接維護的最小空閑連接數,當使用HikariCP時指定. 300 spring.datasource.name指定數據源名. 301 spring.datasource.num-tests-per-eviction-run指定運行每個idle object evictor線程時的對象數量 302 spring.datasource.password指定數據庫密碼. 303 spring.datasource.platform指定schema要使用的Platform(schema-${platform}.sql),默認為: all 304 spring.datasource.pool-name指定連接池名字. 305 spring.datasource.pool-prepared-statements指定是否池化statements. 306 spring.datasource.propagate-interrupt-state在等待連接時,如果線程被中斷,是否傳播中斷狀態. 307 spring.datasource.read-only當使用Hikari connection pool時,是否標記數據源只讀 308 spring.datasource.register-mbeans指定Hikari connection pool是否注冊JMX MBeans. 309 spring.datasource.remove-abandoned指定當連接超過廢棄超時時間時,是否立刻刪除該連接. 310 spring.datasource.remove-abandoned-timeout指定連接應該被廢棄的時間. 311 spring.datasource.rollback-on-return在歸還連接時,是否回滾等待中的事務. 312 spring.datasource.schema指定Schema (DDL)腳本. 313 spring.datasource.separator指定初始化腳本的語句分隔符,默認: ; 314 spring.datasource.sql-script-encoding指定SQL scripts編碼. 315 spring.datasource.suspect-timeout指定打印廢棄連接前的超時時間. 316 spring.datasource.test-on-borrow當從連接池借用連接時,是否測試該連接. 317 spring.datasource.test-on-connect創建時,是否測試連接 318 spring.datasource.test-on-return在連接歸還到連接池時是否測試該連接. 319 spring.datasource.test-while-idle當連接空閑時,是否執行連接測試. 320 spring.datasource.time-between-eviction-runs-millis指定空閑連接檢查、廢棄連接清理、空閑連接池大小調整之間的操作時間間隔 321 spring.datasource.transaction-isolation指定事務隔離級別,使用Hikari connection pool時指定 322 spring.datasource.url指定JDBC URL. 323 spring.datasource.use-disposable-connection-facade是否對連接進行包裝,防止連接關閉之后被使用. 324 spring.datasource.use-equals比較方法名時是否使用String.equals()替換==. 325 spring.datasource.use-lock是否對連接操作加鎖 326 spring.datasource.username指定數據庫名. 327 spring.datasource.validation-interval指定多少ms執行一次連接校驗. 328 spring.datasource.validation-query指定獲取連接時連接校驗的sql查詢語句. 329 spring.datasource.validation-query-timeout指定連接校驗查詢的超時時間. 330 spring.datasource.validation-timeout設定連接校驗的超時時間,當使用Hikari connection pool時指定 331 spring.datasource.validator-class-name用來測試查詢的validator全限定名. 332 spring.datasource.xa.data-source-class-name指定數據源的全限定名. 333 spring.datasource.xa.properties指定傳遞給XA data source的屬性 334 335 JPA 336 spring.jpa.database指定目標數據庫. 337 spring.jpa.database-platform指定目標數據庫的類型. 338 spring.jpa.generate-ddl是否在啟動時初始化schema,默認為false 339 spring.jpa.hibernate.ddl-auto指定DDL mode (none, validate, update, create, create-drop). 當使用內嵌數據庫時,默認是create-drop,否則為none. 340 spring.jpa.hibernate.naming-strategy指定命名策略. 341 spring.jpa.open-in-view是否注冊OpenEntityManagerInViewInterceptor,綁定JPA EntityManager到請求線程中,默認為: true 342 spring.jpa.properties添加額外的屬性到JPA provider. 343 spring.jpa.show-sql是否開啟sql的log,默認為: false 344 345 jooq 346 spring.jooq.sql-dialect指定JOOQ使用的SQLDialect,比如POSTGRES. 347 348 h2 349 spring.h2.console.enabled是否開啟控制台,默認為false 350 spring.h2.console.path指定控制台路徑,默認為: /h2-console 351 352 JTA 353 spring.jta.allow-multiple-lrc是否允許 multiple LRC,默認為: false 354 spring.jta.asynchronous2-pc指定兩階段提交是否可以異步,默認為: false 355 spring.jta.background-recovery-interval指定多少分鍾跑一次recovery process,默認為: 1 356 spring.jta.background-recovery-interval-seconds指定多久跑一次recovery process,默認: 60 357 spring.jta.current-node-only-recovery是否過濾掉其他非本JVM的recovery,默認為: true 358 spring.jta.debug-zero-resource-transaction是否追蹤沒有使用指定資源的事務,默認為: false 359 spring.jta.default-transaction-timeout設定默認的事務超時時間,默認為60 360 spring.jta.disable-jmx是否禁用jmx,默認為false 361 spring.jta.enabled是否開啟JTA support,默認為: true 362 spring.jta.exception-analyzer設置指定的異常分析類 363 spring.jta.filter-log-status使用Bitronix Transaction Manager時,是否寫mandatory logs,開啟的話,可以節省磁盤空間,但是調試會復雜寫,默認為false 364 spring.jta.force-batching-enabled使用Bitronix Transaction Manager時,是否批量寫磁盤,默認為true. 365 spring.jta.forced-write-enabled使用Bitronix Transaction Manager時,是否強制寫日志到磁盤,默認為true 366 spring.jta.graceful-shutdown-interval當使用Bitronix Transaction Manager,指定shutdown時等待事務結束的時間,超過則中斷,默認為60 367 spring.jta.jndi-transaction-synchronization-registry-name當使用Bitronix Transaction Manager時,在JNDI下得事務同步registry,默認為: java:comp/TransactionSynchronizationRegistry 368 spring.jta.jndi-user-transaction-name指定在JNDI使用Bitronix Transaction Manager的名稱,默認:java:comp/UserTransaction 369 spring.jta.journal當使用Bitronix Transaction Manager,指定The journal是否disk還是null還是一個類的全限定名,默認disk 370 spring.jta.log-dirTransaction logs directory. 371 spring.jta.log-part1-filename指定The journal fragment文件1的名字,默認: btm1.tlog 372 spring.jta.log-part2-filename指定The journal fragment文件2的名字,默認: btm2.tlog 373 spring.jta.max-log-size-in-mb指定journal fragments大小的最大值. 默認: 2M 374 spring.jta.resource-configuration-filename指定Bitronix Transaction Manager配置文件名. 375 spring.jta.server-id指定Bitronix Transaction Manager實例的id. 376 spring.jta.skip-corrupted-logs是否忽略corrupted log files文件,默認為false. 377 spring.jta.transaction-manager-id指定Transaction manager的唯一標識. 378 spring.jta.warn-about-zero-resource-transaction當使用Bitronix Transaction Manager時,是否對沒有使用指定資源的事務進行警告,默認為: true 379 380 NOSQL相關 381 cache 382 spring.cache.cache-names指定要創建的緩存的名稱,逗號分隔(若該緩存實現支持的話) 383 spring.cache.ehcache.config指定初始化EhCache時使用的配置文件的位置指定. 384 spring.cache.guava.spec指定創建緩存要使用的spec,具體詳見CacheBuilderSpec. 385 spring.cache.hazelcast.config指定初始化Hazelcast時的配置文件位置 386 spring.cache.infinispan.config指定初始化Infinispan時的配置文件位置. 387 spring.cache.jcache.config指定jcache的配置文件. 388 spring.cache.jcache.provider指定CachingProvider實現類的全限定名. 389 spring.cache.type指定緩存類型 390 391 mongodb 392 spring.mongodb.embedded.features指定要開啟的特性,逗號分隔. 393 spring.mongodb.embedded.version指定要使用的版本,默認: 2.6.10 394 395 redis 396 spring.redis.database指定連接工廠使用的Database index,默認為: 0 397 spring.redis.host指定Redis server host,默認為: localhost 398 spring.redis.password指定Redis server的密碼 399 spring.redis.pool.max-active指定連接池最大的活躍連接數,-1表示無限,默認為8 400 spring.redis.pool.max-idle指定連接池最大的空閑連接數,-1表示無限,默認為8 401 spring.redis.pool.max-wait指定當連接池耗盡時,新獲取連接需要等待的最大時間,以毫秒單位,-1表示無限等待 402 spring.redis.pool.min-idle指定連接池中空閑連接的最小數量,默認為0 403 spring.redis.port指定redis服務端端口,默認: 6379 404 spring.redis.sentinel.master指定redis server的名稱 405 spring.redis.sentinel.nodes指定sentinel節點,逗號分隔,格式為host:port. 406 spring.redis.timeout指定連接超時時間,毫秒單位,默認為0 407 408 springdata 409 spring.data.elasticsearch.cluster-name指定es集群名稱,默認: elasticsearch 410 spring.data.elasticsearch.cluster-nodes指定es的集群,逗號分隔,不指定的話,則啟動client node. 411 spring.data.elasticsearch.properties指定要配置的es屬性. 412 spring.data.elasticsearch.repositories.enabled是否開啟es存儲,默認為: true 413 spring.data.jpa.repositories.enabled是否開啟JPA支持,默認為: true 414 spring.data.mongodb.authentication-database指定鑒權的數據庫名 415 spring.data.mongodb.database指定mongodb數據庫名 416 spring.data.mongodb.field-naming-strategy指定要使用的FieldNamingStrategy. 417 spring.data.mongodb.grid-fs-database指定GridFS database的名稱. 418 spring.data.mongodb.host指定Mongo server host. 419 spring.data.mongodb.password指定Mongo server的密碼. 420 spring.data.mongodb.port指定Mongo server port. 421 spring.data.mongodb.repositories.enabled是否開啟mongodb存儲,默認為true 422 spring.data.mongodb.uri指定Mongo database URI.默認:mongodb://localhost/test 423 spring.data.mongodb.username指定登陸mongodb的用戶名. 424 spring.data.rest.base-path指定暴露資源的基准路徑. 425 spring.data.rest.default-page-size指定每頁的大小,默認為: 20 426 spring.data.rest.limit-param-name指定limit的參數名,默認為: size 427 spring.data.rest.max-page-size指定最大的頁數,默認為1000 428 spring.data.rest.page-param-name指定分頁的參數名,默認為: page 429 spring.data.rest.return-body-on-create當創建完實體之后,是否返回body,默認為false 430 spring.data.rest.return-body-on-update在更新完實體后,是否返回body,默認為false 431 spring.data.rest.sort-param-name指定排序使用的key,默認為: sort 432 spring.data.solr.host 433 指定Solr host,如果有指定了zk的host的話,則忽略。默認為: http://127.0.0.1:8983/solr 434 spring.data.solr.repositories.enabled是否開啟Solr repositories,默認為: true 435 spring.data.solr.zk-host指定zk的地址,格式為HOST:PORT. 436 437 MQ相關 438 activemq 439 spring.activemq.broker-url指定ActiveMQ broker的URL,默認自動生成. 440 spring.activemq.in-memory是否是內存模式,默認為true. 441 spring.activemq.password指定broker的密碼. 442 spring.activemq.pooled是否創建PooledConnectionFactory,而非ConnectionFactory,默認false 443 spring.activemq.user指定broker的用戶. 444 artemis(HornetQ捐獻給apache后的版本) 445 spring.artemis.embedded.cluster-password指定集群的密碼,默認是啟動時隨機生成. 446 spring.artemis.embedded.data-directory指定Journal文件的目錄.如果不開始持久化則不必要指定. 447 spring.artemis.embedded.enabled是否開啟內嵌模式,默認true 448 spring.artemis.embedded.persistent是否開啟persistent store,默認false. 449 spring.artemis.embedded.queues指定啟動時創建的隊列,多個用逗號分隔,默認: [] 450 spring.artemis.embedded.server-id指定Server ID. 默認是一個自增的數字,從0開始. 451 spring.artemis.embedded.topics指定啟動時創建的topic,多個的話逗號分隔,默認: [] 452 spring.artemis.host指定Artemis broker 的host. 默認: localhost 453 spring.artemis.mode指定Artemis 的部署模式, 默認為auto-detected(也可以為native or embedded). 454 spring.artemis.port指定Artemis broker 的端口,默認為: 61616 455 456 rabbitmq 457 spring.rabbitmq.addresses指定client連接到的server的地址,多個以逗號分隔. 458 spring.rabbitmq.dynamic是否創建AmqpAdmin bean. 默認為: true) 459 spring.rabbitmq.host指定RabbitMQ host.默認為: localhost) 460 spring.rabbitmq.listener.acknowledge-mode指定Acknowledge的模式. 461 spring.rabbitmq.listener.auto-startup是否在啟動時就啟動mq,默認: true) 462 spring.rabbitmq.listener.concurrency指定最小的消費者數量. 463 spring.rabbitmq.listener.max-concurrency指定最大的消費者數量. 464 spring.rabbitmq.listener.prefetch指定一個請求能處理多少個消息,如果有事務的話,必須大於等於transaction數量. 465 spring.rabbitmq.listener.transaction-size指定一個事務處理的消息數量,最好是小於等於prefetch的數量. 466 spring.rabbitmq.password指定broker的密碼. 467 spring.rabbitmq.port指定RabbitMQ 的端口,默認: 5672) 468 spring.rabbitmq.requested-heartbeat指定心跳超時,0為不指定. 469 spring.rabbitmq.ssl.enabled是否開始SSL,默認: false) 470 spring.rabbitmq.ssl.key-store指定持有SSL certificate的key store的路徑 471 spring.rabbitmq.ssl.key-store-password指定訪問key store的密碼. 472 spring.rabbitmq.ssl.trust-store指定持有SSL certificates的Trust store. 473 spring.rabbitmq.ssl.trust-store-password指定訪問trust store的密碼. 474 spring.rabbitmq.username指定登陸broker的用戶名. 475 spring.rabbitmq.virtual-host指定連接到broker的Virtual host. 476 477 hornetq 478 spring.hornetq.embedded.cluster-password指定集群的密碼,默認啟動時隨機生成. 479 spring.hornetq.embedded.data-directory指定Journal file 的目錄. 如果不開啟持久化則不必指定. 480 spring.hornetq.embedded.enabled是否開啟內嵌模式,默認:true 481 spring.hornetq.embedded.persistent是否開啟persistent store,默認: false 482 spring.hornetq.embedded.queues指定啟動是創建的queue,多個以逗號分隔,默認: [] 483 spring.hornetq.embedded.server-id指定Server ID. 默認使用自增數字,從0開始. 484 spring.hornetq.embedded.topics指定啟動時創建的topic,多個以逗號分隔,默認: [] 485 spring.hornetq.host指定HornetQ broker 的host,默認: localhost 486 spring.hornetq.mode指定HornetQ 的部署模式,默認是auto-detected,也可以指定native 或者 embedded. 487 spring.hornetq.port指定HornetQ broker 端口,默認: 5445 488 489 jms 490 spring.jms.jndi-name指定Connection factory JNDI 名稱. 491 spring.jms.listener.acknowledge-mode指定ack模式,默認自動ack. 492 spring.jms.listener.auto-startup是否啟動時自動啟動jms,默認為: true 493 spring.jms.listener.concurrency指定最小的並發消費者數量. 494 spring.jms.listener.max-concurrency指定最大的並發消費者數量. 495 spring.jms.pub-sub-domain是否使用默認的destination type來支持 publish/subscribe,默認: false 496 497 security相關 498 spring security是springboot支持的權限控制系統。 499 security.basic.authorize-mode要使用權限控制模式. 500 security.basic.enabled是否開啟基本的鑒權,默認為true 501 security.basic.path需要鑒權的path,多個的話以逗號分隔,默認為[/**] 502 security.basic.realmHTTP basic realm 的名字,默認為Spring 503 security.enable-csrf是否開啟cross-site request forgery校驗,默認為false. 504 security.filter-orderSecurity filter chain的order,默認為0 505 security.headers.cache是否開啟http頭部的cache控制,默認為false. 506 security.headers.content-type是否開啟X-Content-Type-Options頭部,默認為false. 507 security.headers.frame是否開啟X-Frame-Options頭部,默認為false. 508 security.headers.hsts指定HTTP Strict Transport Security (HSTS)模式(none, domain, all). 509 security.headers.xss是否開啟cross-site scripting (XSS) 保護,默認為false. 510 security.ignored指定不鑒權的路徑,多個的話以逗號分隔. 511 security.oauth2.client.access-token-uri指定獲取access token的URI. 512 security.oauth2.client.access-token-validity-seconds指定access token失效時長. 513 security.oauth2.client.additional-information.[key]設定要添加的額外信息. 514 security.oauth2.client.authentication-scheme指定傳輸不記名令牌(bearer token)的方式(form, header, none,query),默認為header 515 security.oauth2.client.authorities指定授予客戶端的權限. 516 security.oauth2.client.authorized-grant-types指定客戶端允許的grant types. 517 security.oauth2.client.auto-approve-scopes對客戶端自動授權的scope. 518 security.oauth2.client.client-authentication-scheme傳輸authentication credentials的方式(form, header, none, query),默認為header方式 519 security.oauth2.client.client-id指定OAuth2 client ID. 520 security.oauth2.client.client-secret指定OAuth2 client secret. 默認是一個隨機的secret. 521 security.oauth2.client.grant-type指定獲取資源的access token的授權類型. 522 security.oauth2.client.id指定應用的client ID. 523 security.oauth2.client.pre-established-redirect-uri服務端pre-established的跳轉URI. 524 security.oauth2.client.refresh-token-validity-seconds指定refresh token的有效期. 525 security.oauth2.client.registered-redirect-uri指定客戶端跳轉URI,多個以逗號分隔. 526 security.oauth2.client.resource-ids指定客戶端相關的資源id,多個以逗號分隔. 527 security.oauth2.client.scopeclient的scope 528 security.oauth2.client.token-name指定token的名稱 529 security.oauth2.client.use-current-uri是否優先使用請求中URI,再使用pre-established的跳轉URI. 默認為true 530 security.oauth2.client.user-authorization-uri用戶跳轉去獲取access token的URI. 531 security.oauth2.resource.id指定resource的唯一標識. 532 security.oauth2.resource.jwt.key-uriJWT token的URI. 當key為公鑰時,或者value不指定時指定. 533 security.oauth2.resource.jwt.key-valueJWT token驗證的value. 可以是對稱加密或者PEMencoded RSA公鑰. 可以使用URI作為value. 534 security.oauth2.resource.prefer-token-info是否使用token info,默認為true 535 security.oauth2.resource.service-id指定service ID,默認為resource. 536 security.oauth2.resource.token-info-uritoken解碼的URI. 537 security.oauth2.resource.token-type指定當使用userInfoUri時,發送的token類型. 538 security.oauth2.resource.user-info-uri指定user info的URI 539 security.oauth2.sso.filter-order如果沒有顯示提供WebSecurityConfigurerAdapter時指定的Filter order. 540 security.oauth2.sso.login-path跳轉到SSO的登錄路徑默認為/login. 541 security.require-ssl是否對所有請求開啟SSL,默認為false. 542 security.sessions指定Session的創建策略(always, never, if_required, stateless). 543 security.user.name指定默認的用戶名,默認為user. 544 security.user.password默認的用戶密碼. 545 security.user.role默認用戶的授權角色. 546 547 Migration相關 548 flyway 549 flyway.baseline-description對執行遷移時基准版本的描述. 550 flyway.baseline-on-migrate當遷移時發現目標schema非空,而且帶有沒有元數據的表時,是否自動執行基准遷移,默認false. 551 flyway.baseline-version開始執行基准遷移時對現有的schema的版本打標簽,默認值為1. 552 flyway.check-location檢查遷移腳本的位置是否存在,默認false. 553 flyway.clean-on-validation-error當發現校驗錯誤時是否自動調用clean,默認false. 554 flyway.enabled是否開啟flywary,默認true. 555 flyway.encoding設置遷移時的編碼,默認UTF-8. 556 flyway.ignore-failed-future-migration當讀取元數據表時是否忽略錯誤的遷移,默認false. 557 flyway.init-sqls當初始化好連接時要執行的SQL. 558 flyway.locations遷移腳本的位置,默認db/migration. 559 flyway.out-of-order是否允許無序的遷移,默認false. 560 flyway.password目標數據庫的密碼. 561 flyway.placeholder-prefix設置每個placeholder的前綴,默認${. 562 flyway.placeholder-replacementplaceholders是否要被替換,默認true. 563 flyway.placeholder-suffix設置每個placeholder的后綴,默認}. 564 flyway.placeholders.[placeholder name]設置placeholder的value 565 flyway.schemas設定需要flywary遷移的schema,大小寫敏感,默認為連接默認的schema. 566 flyway.sql-migration-prefix遷移文件的前綴,默認為V. 567 flyway.sql-migration-separator遷移腳本的文件名分隔符,默認__ 568 flyway.sql-migration-suffix遷移腳本的后綴,默認為.sql 569 flyway.tableflyway使用的元數據表名,默認為schema_version 570 flyway.target遷移時使用的目標版本,默認為latest version 571 flyway.url遷移時使用的JDBC URL,如果沒有指定的話,將使用配置的主數據源 572 flyway.user遷移數據庫的用戶名 573 flyway.validate-on-migrate遷移時是否校驗,默認為true. 574 575 liquibase 576 liquibase.change-logChange log 配置文件的路徑,默認值為classpath:/db/changelog/db.changelog-master.yaml 577 liquibase.check-change-log-location是否堅持change log的位置是否存在,默認為true. 578 liquibase.contexts逗號分隔的運行時context列表. 579 liquibase.default-schema默認的schema. 580 liquibase.drop-first是否首先drop schema,默認為false 581 liquibase.enabled是否開啟liquibase,默認為true. 582 liquibase.password目標數據庫密碼 583 liquibase.url要遷移的JDBC URL,如果沒有指定的話,將使用配置的主數據源. 584 liquibase.user目標數據用戶名 585 586 其他 587 aop 588 spring.aop.auto是否支持@EnableAspectJAutoProxy,默認為: true 589 spring.aop.proxy-target-classtrue為使用CGLIB代理,false為JDK代理,默認為false 590 591 application 592 spring.application.admin.enabled是否啟用admin特性,默認為: false 593 spring.application.admin.jmx-name指定admin MBean的名稱,默認為: org.springframework.boot:type=Admin,name=SpringApplication 594 595 autoconfig 596 spring.autoconfigure.exclude配置要排除的Auto-configuration classes. 597 598 batch 599 spring.batch.initializer.enabled是否在必要時創建batch表,默認為true 600 spring.batch.job.enabled是否在啟動時開啟batch job,默認為true 601 spring.batch.job.names指定啟動時要執行的job的名稱,逗號分隔,默認所有job都會被執行 602 spring.batch.schema指定要初始化的sql語句路徑,默認:classpath:org/springframework/batch/core/schema-@@platform@@.sql) 603 spring.batch.table-prefix指定批量處理的表的前綴. 604 605 jmx 606 spring.jmx.default-domain指定JMX domain name. 607 spring.jmx.enabled是否暴露jmx,默認為true 608 spring.jmx.server指定MBeanServer bean name. 默認為: mbeanServer) 609 610 mail 611 spring.mail.default-encoding指定默認MimeMessage的編碼,默認為: UTF-8 612 spring.mail.host指定SMTP server host. 613 spring.mail.jndi-name指定mail的jndi名稱 614 spring.mail.password指定SMTP server登陸密碼. 615 spring.mail.port指定SMTP server port. 616 spring.mail.properties指定JavaMail session屬性. 617 spring.mail.protocol指定SMTP server使用的協議,默認為: smtp 618 spring.mail.test-connection指定是否在啟動時測試郵件服務器連接,默認為false 619 spring.mail.username指定SMTP server的用戶名. 620 621 sendgrid 622 spring.sendgrid.password指定SendGrid password. 623 spring.sendgrid.proxy.host指定SendGrid proxy host. 624 spring.sendgrid.proxy.port指定SendGrid proxy port. 625 spring.sendgrid.username指定SendGrid username. 626 627 social 628 spring.social.auto-connection-views是否開啟連接狀態的視圖,默認為false 629 spring.social.facebook.app-id指定應用id 630 spring.social.facebook.app-secret指定應用密碼 631 spring.social.linkedin.app-id指定應用id 632 spring.social.linkedin.app-secret指定應用密碼 633 spring.social.twitter.app-id指定應用ID. 634 spring.social.twitter.app-secret指定應用密碼
5、參考資料:
https://blog.csdn.net/chengkui1990/article/details/79866499
