一、SpringBoot配置文件默認爲application.*和application-default.*,若是經過spring.config.name屬性指定了自定義配置文件名則加載讀取指定的配置文件;擴展名有四個:*.properties、*.xml、*.yml、*.yaml;css
二、spring.factories中加載配置文件的順序爲:html
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
三、取值時讀取配置文件的順序爲:properties->yaml->yml; java
四、經常使用的Spring Boot配置說明:node
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指定應用密碼
五、參考資料: 正則表達式
http://www.javashuo.com/article/p-bcoemvlx-ct.htmlredis
https://www.liangzl.com/get-article-detail-14988.htmlspring
https://blog.csdn.net/m0_37499059/article/details/82192420sql