These are Web application common properties that can be configured with any Spring Boot Web Application. These properties are already configured in Spring Boot with the given default value.
Note: In your application, You don’t need to add all these values in your application.proprties/application.yaml file. You just need to add only those values which you want to change/override.
See Also:
- Spring Boot: Core Common Properties
- Spring Boot: Data Configuration Properties
- Spring Boot: Security, OAUTH2 and SSO Configuration Properties
- Spring Boot: Integration Platform Properties
- Spring Boot: DevTools Properties
Embedded Server Configuration Properties
Spring Boot load these properties in ServerProperties
Name | Default Value | Description |
server.address | Network address for the server. | |
server.compression.enabled | false | To enable response compression. |
server.compression.excluded-user-agents | user-agents list to exclude from compression. | |
server.compression.mime-types | Comma-separated MIME typesist that should be compressed. For instance `text/html,text/css,application/json` | |
server.compression.min-response-size | Minimum response size for compression. For instance 2048 | |
server.connection-timeout | Connectors wait time (in MilliSeconds) for another HTTP request before closing the connection. If not set then take default as container-specific. If set as -1 for infinite time out. | |
server.context-parameters.* | Servlet context init parameters. For example `server.context-parameters.a=alpha` | |
server.context-path | Application Context path. | |
server.display-name | application | Display application name. |
server.max-http-header-size | 0 | Maximum size in bytes for HTTP msg header. |
server.max-http-post-size | 0 | Maximum size in bytes for HTTP post content. |
server.error.include-stacktrace | never | When to include a “stacktrace” attribute. |
server.error.path | /error | Path of navigate in case of the error. |
server.error.whitelabel.enabled | true | Enable the default error page displayed in case of a server error. |
server.jetty.acceptors | Number of acceptor threads to use. | |
server.jetty.selectors | Number of selector threads to use. | |
server.jsp-servlet.class-name | org.apache.jasper.servlet.JspServlet | The class name of the JSP servlet. |
server.jsp-servlet.init-parameters.* | Init parameters used to configure the JSP servlet. | |
server.jsp-servlet.registered | true | Whether or not the JSP servlet is registered. |
server.port | 8080 | HTTP Server port. |
server.server-header | Server response header value (no header is sent if empty) | |
server.servlet-path | / | Path of the main dispatcher servlet. |
server.use-forward-headers | If X-Forwarded-* headers should be applied in HttpRequest. | |
server.session.cookie.comment | Comment for the session cookie. | |
server.session.cookie.domain | Domain for the session cookie. | |
server.session.cookie.http-only | “HttpOnly” flag for the session cookie. | |
server.session.cookie.max-age | Maximum age of the session cookie in seconds. | |
server.session.cookie.name | Session cookie name. | |
server.session.cookie.path | Path of the session cookie. | |
server.session.cookie.secure | “Secure” flag for the session cookie. | |
server.session.persistent | false | Persist session data between restarts. |
server.session.store-dir | Directory used to store session data. | |
server.session.timeout | Session timeout in seconds | |
server.session.tracking-modes | Session tracking modes either one or more in “cookie”, “url”, “ssl”. | |
server.ssl.ciphers | Supported SSL ciphers. | |
server.ssl.client-auth | Set client authentication is “want” or “need”. Requires a trust store. | |
server.ssl.enabled | Enable SSL support. | |
server.ssl.enabled-protocols | Enabled SSL protocols. | |
server.ssl.key-alias | Alias for identifies the key in the key store. | |
server.ssl.key-password | Password for access the key in the key store. | |
server.ssl.key-store | Path to the key store that holds the SSL certificate (jks file). | |
server.ssl.key-store-provider | Provider for the key store. | |
server.ssl.key-store-type | Type of the key store. | |
server.ssl.protocol | TLS | SSL protocol to use. |
server.ssl.trust-store | Trust store that holds SSL certificates. | |
server.ssl.trust-store-password | Password used to access the trust store. | |
server.ssl.trust-store-provider | Provider for the trust store. | |
server.ssl.trust-store-type | Type of the trust store. | |
server.tomcat.accesslog.directory | logs | Directory in which log files are created. i.e tomcat base dir or absolute. |
server.tomcat.accesslog.enabled | false | Enable access log. |
server.tomcat.accesslog.pattern | common | Format pattern for access logs. |
server.tomcat.accesslog.prefix | access_log | Log file name prefix. |
server.tomcat.accesslog.rename-on-rotate | false | Defer inclusion of the date stamp in the file name as long as rotate time. |
server.tomcat.accesslog.request-attributes-enabled | false | Set request attributes for IP address, ptotocol, port and Hostname. |
server.tomcat.accesslog.suffix | .log | Log file name suffix. |
server.tomcat.background-processor-delay | 30 | Delay between the invocation of backgroundProcess methods.(seconds) |
server.tomcat.basedir | Tomcat base directory. If not set then temporary directory will be used. | |
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} |
regular expression matching trusted IP addresses. |
server.tomcat.max-threads | 0 | Maximum amount of worker threads. |
server.tomcat.min-spare-threads | 0 | Minimum amount of worker threads. |
server.tomcat.port-header | X-Forwarded-Port | HTTP header name used to override the original port value. |
server.tomcat.protocol-header | Header value holds the incoming protocol, usually named “X-Forwarded-Proto”. | |
server.tomcat.protocol-header-https-value | https | Param Value in header that indicates that the incoming request uses SSL. |
server.tomcat.remote-ip-header | http header param from which the remote ip is extracted. For instance `X-FORWARDED-FOR` | |
server.tomcat.uri-encoding | UTF-8 | Character encoding to use to decode the URI. |
server.undertow.accesslog.dir | Undertow access log directory. | |
server.undertow.accesslog.enabled | false | Enable access log. |
server.undertow.accesslog.pattern | common | Format pattern for access logs. |
server.undertow.accesslog.prefix | access_log. | Log file name prefix. |
server.undertow.accesslog.suffix | log | Log file name suffix. |
server.undertow.buffer-size | Each buffer size in bytes. | |
server.undertow.buffers-per-region | Number of buffer for per region. | |
server.undertow.direct-buffers | Allocate buffers space outside the Java heap. | |
server.undertow.io-threads | Number of worker threads create for I/O. | |
server.undertow.worker-threads | Number of worker threads. |
Freemarker Properties
Spring Boot load these properties in FreeMarkerAutoConfiguration
Name | Default Value | Description |
spring.freemarker.allow-request-override | false | HttpServletRequest attributes of same name are allowed to override controller generated model attributes. |
spring.freemarker.allow-session-override | false | Enable HttpSession attributes of same name are allowed to override controller generated model attributes. |
spring.freemarker.cache | false | Enable template caching |
spring.freemarker.charset | UTF-8 | Template encoding. |
spring.freemarker.check-template-location | true | Check that the templates location exists. |
spring.freemarker.content-type | text/html | Content-Type value. |
spring.freemarker.enabled | true | Enable MVC view resolution for this technology. |
spring.freemarker.expose-request-attributes | false | Enable all request attributes should be added to the model prior to merging with the template. |
spring.freemarker.expose-session-attributes | false | Enable all HttpSession attributes should be added with model prior to merging with the template. |
spring.freemarker.expose-spring-macro-helpers | true | Enable expose a RequestContext for use by Spring’s macro library, under the name “springMacroRequestContext”. |
spring.freemarker.prefer-file-system-access | true | Enable hot detection of template changes from file system. |
spring.freemarker.prefix | Prefix prepended with view names when building a URL. | |
spring.freemarker.request-context-attribute | Name of the RequestContext attribute that will apply on all views. | |
spring.freemarker.settings.* | Well-known FreeMarker keys that will passed to FreeMarker’s Configuration. | |
spring.freemarker.suffix | Suffix appended with view names when building a URL. | |
spring.freemarker.template-loader-path | classpath:/templates/ | Comma-separated template paths. |
spring.freemarker.view-names | White list of view names. |
Groovy Template Properties
Spring Boot load these properties in GroovyTemplateAutoConfiguration
Name | Default Value | Description |
spring.groovy.template.allow-request-override | false | HttpServletRequest attributes of same name are allowed to override controller generated model attributes. |
spring.groovy.template.allow-session-override | false | HttpSession attributes of same name are allowed to override (hide) controller generated model attributes.. |
spring.groovy.template.cache | Enable template caching. | |
spring.groovy.template.charset | UTF-8 | Template encoding. |
spring.groovy.template.check-template-location | true | Check that the templates location exists. |
spring.groovy.template.configuration.* | See GroovyMarkupConfigurer | |
spring.groovy.template.content-type | test/html | Content-Type value. |
spring.groovy.template.enabled | true | Enable MVC view resolution for this technology. |
spring.groovy.template.expose-request-attributes | false | Enable All request attributes added with model prior to merging with the template. |
spring.groovy.template.expose-session-attributes | false | Enable All HttpSession attributes added with model prior to merging with the template. |
spring.groovy.template.expose-spring-macro-helpers | true | Enable expose a RequestContext for use by Spring’s macro library, under the name “springMacroRequestContext”. |
spring.groovy.template.prefix | Prefix prepended with view names when building a URL. | |
spring.groovy.template.request-context-attribute | Name of the RequestContext attribute for all views. | |
spring.groovy.template.resource-loader-path | classpath:/templates/ | Template path. |
spring.groovy.template.suffix | .tpl | Suffix appended with view names when building a URL. |
spring.groovy.template.view-names | White list of view names. |
Spring HATEOAS Properties
Spring Boot load these properties in HateoasProperties
Name | Default Value | Description |
spring.hateoas.use-hal-as-default-json-media-type | true | Enable application/hal+json mime type responses for requests that accept application/json. |
HTTP Message Conversion Properties
Name | Default Value | Description |
spring.http.converters.preferred-json-mapper | jackson | Preferred JSON mapper for HTTP message conversion. Specified “gson” in case jacson and gson both are on the classpath. |
HTTP Encoding Properties
Spring Boot load these properties in HttpEncodingProperties class.
Name | Default Value | Description |
spring.http.encoding.charset | UTF-8 | Charset of HTTP requests and responses. Added to the “Content-Type” header. |
spring.http.encoding.enabled | true | Enable http encoding. |
spring.http.encoding.force | Force the encoding on HTTP requests and responses. | |
spring.http.encoding.force-request | Force the encoding on HTTP requests. Defaults to true. | |
spring.http.encoding.force-response | Force the encoding on HTTP responses. | |
spring.http.encoding.mapping | Locale to Encoding mapping. |
Multipart Properties
Spring Boot load these properties in MultipartProperties class.
Name | Default Value | Description |
spring.http.multipart.enabled | true | Enable support of multi-part uploads. |
spring.http.multipart.file-size-threshold | 0 | Threshold after which files will be written to disk.Suffixed “MB” or “KB”. |
spring.http.multipart.location | Intermediate location of uploaded files. | |
spring.http.multipart.max-file-size | 1Mb | Max file size. Suffixed “MB” or “KB”. |
spring.http.multipart.max-request-size | 10Mb | Max request size. Suffixed “MB” or “KB”. |
spring.http.multipart.resolve-lazily | false | Set to resolve the multipart request lazily when file or parameter access. |
Jackson Properties
Spring Boot load these properties in JacksonProperties class.
Name | Default Value | Description |
spring.jackson.date-format | Date format or a fully-qualified date format class name. For example `yyyy-MM-dd HH:mm:ss`. | |
spring.jackson.default-property-inclusion | Controls the properties inclusion during serialization. | |
spring.jackson.deserialization.* | on/off features for Jackson that affect the way Java objects are deserialized. | |
spring.jackson.generator.* | on/off features for Jackson generators. | |
spring.jackson.joda-date-time-format | Joda date time strig format. If it is configured with a format string use it otherwise will use “date-format” as a fallback . | |
spring.jackson.locale | Locale used for formatting. | |
spring.jackson.mapper.* | on/off features of Jackson general features. | |
spring.jackson.parser.* | on/off features for Jackson parsers. | |
spring.jackson.property-naming-strategy | Set Jackson’s PropertyNamingStrategy type sub class as a fully-qualified class name. | |
spring.jackson.serialization.* | on/off features of Jackson that affect the way Java objects are serialized. | |
spring.jackson.serialization-inclusion | Controls the properties inclusion during serialization by configuring values in Jackson’s JsonInclude.Include enumeration. | |
spring.jackson.time-zone | Time zone for date. For example `America/Los_Angeles` |
Jersey Properties
Spring Boot load these properties in JerseyProperties class.
Name | Default Value | Description |
spring.jersey.application-path | base URI path for the application that override the value of “@ApplicationPath” if specified. | |
spring.jersey.filter.order | 0 | Jersey filter chain order. |
spring.jersey.init.* | Init parameters to pass to Jersey through servlet or filter. | |
spring.jersey.servlet.load-on-startup | -1 | Load on startup priority of the Jersey servlet. |
spring.jersey.type | servlet | Jersey integration type. |
Spring Mobile Device Views Properties
Spring Boot load these properties in DeviceDelegatingViewResolverAutoConfiguration class.
Name | Default Value | Description |
spring.mobile.devicedelegatingviewresolver.enable-fallback | false | Enable support for fallback resolution. |
spring.mobile.devicedelegatingviewresolver.enabled | false | Enable device view resolver. |
spring.mobile.devicedelegatingviewresolver.mobile-prefix | mobile/ | Prefix prepended to view names of mobile devices. |
spring.mobile.devicedelegatingviewresolver.mobile-suffix | Suffix appended to view names of mobile devices. | |
spring.mobile.devicedelegatingviewresolver.normal-prefix | Prefix prepended to view names of normal devices. | |
spring.mobile.devicedelegatingviewresolver.normal-suffix | Suffix appended to view names of normal devices. | |
spring.mobile.devicedelegatingviewresolver.tablet-prefix | tablet/ | Prefix prepended to view names of tablet devices. |
spring.mobile.devicedelegatingviewresolver.tablet-suffix | Suffix appended to view names of tablet devices. |
Spring Mobile Site Preference Properties
Spring Boot load these properties in SitePreferenceAutoConfiguration class.
Name | Default Value | Description |
spring.mobile.sitepreference.enabled | true | Enable SitePreferenceHandler. |
Mustache Templates Properties
Spring Boot load these properties in MustacheAutoConfiguration class.
Name | Default Value | Description |
spring.mustache.allow-request-override | HttpServletRequest attributes with same name are allowed to override controller generated model attributes.. | |
spring.mustache.allow-session-override | HttpSession attributes with same name are allowed to override controller generated model attributes. | |
spring.mustache.cache | Enable template caching. | |
spring.mustache.charset | Template encoding. | |
spring.mustache.check-template-location | Check that the templates location exists. | |
spring.mustache.content-type | Content-Type value. | |
spring.mustache.enabled | Enable MVC view resolution for this technology. | |
spring.mustache.expose-request-attributes | All request attributes added to the model prior to merging with the template. | |
spring.mustache.expose-session-attributes | All HttpSession attributes added to the model prior to merging with the template. | |
spring.mustache.expose-spring-macro-helpers | Expose a RequestContext use Spring’s macro library, under the name “springMacroRequestContext”. | |
spring.mustache.prefix | classpath:/templates/ | Prefix to template names. |
spring.mustache.request-context-attribute | RequestContext attribute name for all views. | |
spring.mustache.suffix | .html | Suffix to template names. |
spring.mustache.view-names | White list of view names. |
Spring MVC Properties
Spring Boot load these properties in WebMvcProperties class.
Name | Default Value | Description |
spring.mvc.async.request-timeout | Amount of time before asynchronous request handling times out.(in milliseconds) | |
spring.mvc.date-format | Date format For example `dd/MM/yyyy`. | |
spring.mvc.dispatch-trace-request | false | Dispatch TRACE requests to the FrameworkServlet doService method. |
spring.mvc.dispatch-options-request | true | Dispatch OPTIONS requests to the FrameworkServlet doService method. |
spring.mvc.favicon.enabled | true | Enable resolution of favicon.ico. |
spring.mvc.formcontent.putfilter.enabled | true | Enable Spring’s HttpPutFormContentFilter. |
spring.mvc.ignore-default-model-on-redirect | true | Content of the “default” model need to ignored during redirect scenarios. |
spring.mvc.locale | Set Locale otherwise By default locale is overridden by the “Accept-Language” header. | |
spring.mvc.locale-resolver | accept-header | Define how locale should be resolved. |
spring.mvc.log-resolved-exception | false | Enable warn logging, for exceptions resolved by a “HandlerExceptionResolver”. |
spring.mvc.media-types.* | Maps file extensions for content negotiation. | |
spring.mvc.message-codes-resolver-format | Formatting strategy for message codes. For example `PREFIX_ERROR_CODE`. | |
spring.mvc.servlet.load-on-startup | -1 | Load on startup priority for Spring Web Services servlet. |
spring.mvc.static-path-pattern | /** | Path pattern used for static resources. |
spring.mvc.throw-exception-if-no-handler-found | false | If a “NoHandlerFoundException”, then throw if no Handler was found to process a request. |
spring.mvc.view.prefix | Prefix for Spring MVC view. | |
spring.mvc.view.suffix | Suffux for Spring MVC view. |
Spring Resources Handling Properties
Spring Boot load these properties in ResourceProperties class.
.
Name | Default Value | Description |
spring.resources.add-mappings | true | Enable default resource handling. |
spring.resources.cache-period | Cache period (in seconds)for the resources served by the resource handler. | |
spring.resources.chain.cache | true | Enable caching in the Resource chain. |
spring.resources.chain.enabled | Enable the Spring Resource Handling chain. By default disabled as long as one strategy has been enabled. | |
spring.resources.chain.gzipped | false | Enable resolution of already gzipped resources. |
spring.resources.chain.html-application-cache | false | Enable HTML5 application cache manifest rewriting. |
spring.resources.chain.strategy.content.enabled | false | Enable the content for Version Strategy. |
spring.resources.chain.strategy.content.paths | /** | Comma-separated list of patterns for Version Strategy. |
spring.resources.chain.strategy.fixed.enabled | false | Enable the fixed Version Strategy. |
spring.resources.chain.strategy.fixed.paths | /** | Comma-separated list of patterns for Version Strategy. |
spring.resources.chain.strategy.fixed.version | Version string for Version Strategy. | |
spring.resources.static-locations | classpath:/META-INF/resources/, classpath:/resources/, classpath:/static/, classpath:/public/ |
Locations of static resources |
Spring Session Properties
Spring Boot load these properties in SessionProperties class.
Name | Default Value | Description |
spring.session.hazelcast.map-name | spring:session:sessions | Name of the map used to store sessions. |
spring.session.jdbc.initializer.enabled | If necessary, Create the required session tables on startup if necessary. Enabled automatically if the default a custom schema is configured or table name is set. | |
spring.session.jdbc.schema | classpath: org/springframework/ session/jdbc/ schema-@@platform @@.sql |
SQL file Path for initialize the database schema. |
spring.session.jdbc.table-name | SPRING_SESSION | Name of database table used to store sessions. |
spring.session.mongo.collection-name | sessions | Collection name used to store sessions. |
spring.session.redis.flush-mode | Flush mode for the Redis sessions. | |
spring.session.redis.namespace | Namespace for keys used to store sessions. | |
spring.session.store-type | Session store type. |
Spring Social Properties
Spring Boot load these properties in SocialWebAutoConfiguration class.
Name | Default Value | Description |
spring.social.auto-connection-views | false | Enable the connection status for supported providers. |
Spring Social Facebook Properties
Spring Boot load these properties in FacebookAutoConfiguration class.
Name | Default Value | Description |
spring.social.facebook.app-id | Your Facebook App ID | |
spring.social.facebook.app-secret | Your Facebook App Secret |
Spring Social LinkedIn Properties
Spring Boot load these properties in LinkedInAutoConfiguration class.
Name | Default Value | Description |
spring.social.linkedin.app-id | Your LinkedIn App ID | |
spring.social.linkedin.app-secret | Your LinkedIn App Secret |
Spring Local Twitter Properties
Spring Boot load these properties in TwitterAutoConfiguration class.
Name | Default Value | Description |
spring.social.twitter.app-id | Your Twitter App ID | |
spring.social.twitter.app-secret | Your Twitter App Secret |
Thymeleaf Properties
Spring Boot load these properties in ThymeleafAutoConfiguration class.
Name | Default Value | Description |
spring.thymeleaf.cache | true | Enable template caching. |
spring.thymeleaf.check-template | true | Check that the template exists.. |
spring.thymeleaf.check-template-location | true | Check that the templates location. |
spring.thymeleaf.content-type | text/html | Content-Type value. |
spring.thymeleaf.enabled | true | Enable MVC Thymeleaf view resolution. |
spring.thymeleaf.encoding | UTF-8 | Template encoding. |
spring.thymeleaf.excluded-view-names | Comma-separated list of view names that can excluded from resolution. | |
spring.thymeleaf.mode | HTML5 | Template mode to be applied to templates. Refer StandardTemplateModeHandlers. |
spring.thymeleaf.prefix | classpath:/templates/ | Prefix prepended to view names for building a URL. |
spring.thymeleaf.suffix | .html | Suffix appended to view names for building a URL. |
spring.thymeleaf.template-resolver-order | template resolver order in chain. | |
spring.thymeleaf.view-names | Comma-separated list of view names. |
Velocity Templates Properties
Spring Boot load these properties in VelocityAutoConfiguration class.
Name | Default Value | Description |
spring.velocity.allow-request-override | false | HttpServletRequest attributes with same name are allowed to override controller generated model attributes. |
spring.velocity.allow-session-override | false | HttpSession attributes with same name are allowed to override controller generated model attributes. |
spring.velocity.cache | Enable template caching. | |
spring.velocity.charset | UTF-8 | Template encoding. |
spring.velocity.check-template-location | true | Check that the templates location exists. |
spring.velocity.content-type | text/html | Content-Type value. |
spring.velocity.date-tool-attribute | Name of the DateTool helper object to expose in the Velocity context of the view. | |
spring.velocity.enabled | true | Enable MVC view resolution for this technology. |
spring.velocity.expose-request-attributes | false | all request attributes should be added to the model prior to merging with the template. |
spring.velocity.expose-session-attributes | false | all HttpSession attributes should be added to the model prior to merging with the template. |
spring.velocity.expose-spring-macro-helpers | true | expose a RequestContext for use by Spring’s macro library, under the name “springMacroRequestContext”. |
spring.velocity.number-tool-attribute | Name of the NumberTool helper object to expose in the Velocity context of the view. | |
spring.velocity.prefer-file-system-access | true | Prefer file system access for template loading for hot detection of template changes. |
spring.velocity.prefix | Prefix prepended to view names for building a URL. | |
spring.velocity.properties.* | Additional velocity properties. | |
spring.velocity.request-context-attribute | Name of the RequestContext attribute for all views. | |
spring.velocity.resource-loader-path | classpath:/templates/ | Template path. |
spring.velocity.suffix | .vm | Suffix appended to view names for building a URL. |
spring.velocity.toolbox-config-location | Velocity Toolbox config location. For instance `/WEB-INF/toolbox.xml` | |
spring.velocity.view-names | White list of view names. |
Spring Web Service Properties
Spring Boot load these properties in WebServicesProperties class.
Name | Default Value | Description |
spring.webservices.path | /services | Path that serves as the base URI. |
spring.webservices.servlet.init | Servlet init parameters Spring for Sevices. | |
spring.webservices.servlet.load-on-startup | -1 | Load on startup priority for Spring Web Services servlet. |
References
https://docs.spring.io/spring-boot/docs/1.4.x/reference/html/common-application-properties.html
2 thoughts on “Spring Boot: Web Application Properties and Default Values”