Skip to content

atharv96k/ultimate-spring-boot-properties

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸƒ Spring Boot Essential 100 The Definitive Guide to the Most Important application.properties for Modern Java Development.

πŸ‘‹ Want to contribute? Help us reach the "Essential 100" or improve existing descriptions! Please read the Contributing Guidelines before submitting a Pull Request.

🌐 Server & Network Properties

Property Description
server.port The HTTP port the server listens on (default 8080).
server.address Network address to which the server should bind.
server.servlet.context-path The context path (prefix) for all web requests.
server.servlet.session.timeout Session timeout for the web container.
server.error.path Path of the error controller (default /error).
server.ssl.enabled Whether to enable SSL/TLS support.
server.ssl.key-store Path to the key store that holds the SSL certificate.
server.compression.enabled Whether response compression (GZIP) is enabled.
server.max-http-header-size Maximum size of the HTTP message header.
server.tomcat.max-threads Maximum amount of worker threads for Tomcat.
server.tomcat.accept-count Maximum queue length for incoming connection requests.
server.forward-headers-strategy Strategy for handling X-Forwarded-* headers (useful behind proxies).

πŸ—„οΈ Database & Data Sources (JDBC/Hikari)

Property Description
spring.datasource.url JDBC URL of the database.
spring.datasource.username Login username for the database.
spring.datasource.password Login password for the database.
spring.datasource.driver-class-name Fully qualified name of the JDBC driver.
spring.datasource.type Fully qualified name of the connection pool implementation.
spring.datasource.hikari.maximum-pool-size Max number of connections in the Hikari pool.
spring.datasource.hikari.idle-timeout How long a connection can sit idle before being retired.
spring.datasource.hikari.connection-timeout Max time to wait for a connection from the pool.
spring.datasource.hikari.pool-name User-defined name for the connection pool.
spring.datasource.generate-unique-name Whether to generate a random datasource name.

πŸ—οΈ JPA & Hibernate

Property Description
spring.jpa.hibernate.ddl-auto Action to take regarding schema (none, validate, update, create, create-drop).
spring.jpa.show-sql Whether to enable logging of SQL statements.
spring.jpa.properties.hibernate.format_sql Pretty-print the SQL logged to the console.
spring.jpa.generate-ddl Whether to initialize the schema on startup.
spring.jpa.database-platform Specific target database to operate on (Dialect).
spring.jpa.open-in-view Register OpenEntityManagerInViewInterceptor (binds session to web request).
spring.jpa.hibernate.naming.physical-strategy Strategy for mapping Java names to physical DB names.
spring.data.jpa.repositories.enabled Whether to enable JPA repositories.

πŸƒ Core Spring Framework

Property Description
spring.application.name Name of the application (used in logging and service discovery).
spring.profiles.active Comma-separated list of active profiles (e.g., dev, prod).
spring.profiles.include Unconditionally activate specified comma-separated profiles.
spring.main.banner-mode Mode used to display the banner (off, console, log).
spring.main.allow-bean-definition-overriding Whether bean overriding is allowed (defaults to false).
spring.main.lazy-initialization Whether beans should be initialized lazily (speeds up startup).
spring.messages.basename Comma-separated list of base names for i18n bundles.
spring.aop.proxy-target-class Whether subclass-based (CGLIB) proxies are to be created.

πŸ“ File Uploads & Multipart

Property Description
spring.servlet.multipart.enabled Whether to enable support for multipart uploads.
spring.servlet.multipart.max-file-size Max size allowed for a single file upload.
spring.servlet.multipart.max-request-size Max size allowed for a total multipart request.
spring.servlet.multipart.location Intermediate location for uploaded files.

πŸ“¬ Messaging & Integration

Property Description
spring.kafka.bootstrap-servers Comma-separated list of Kafka broker addresses.
spring.kafka.consumer.group-id Unique string that identifies the consumer group.
spring.kafka.consumer.auto-offset-reset What to do when there is no initial offset in Kafka.
spring.rabbitmq.host RabbitMQ host address.
spring.rabbitmq.port RabbitMQ port.
spring.activemq.broker-url URL of the ActiveMQ broker.

πŸ“Š Actuator & Monitoring

Property Description
management.endpoints.web.exposure.include Endpoints to expose via HTTP (e.g., health, info, *).
management.endpoint.health.show-details When to show full health details (never, always, when-authorized).
management.server.port Management endpoint HTTP port (different from app port).
management.info.env.enabled Whether to enable environment info in the info endpoint.
management.health.db.enabled Whether to enable database health check.
management.metrics.export.prometheus.enabled Whether to export metrics to Prometheus.

πŸͺ΅ Logging

Property Description
logging.level.* Log levels for specific packages (e.g., logging.level.org.hibernate=INFO).
logging.file.name Path to the log file.
logging.file.path Location of the log file.
logging.pattern.console Appender pattern for outputting to the console.
logging.pattern.dateformat Appender pattern for log dates.
logging.config Location of a custom logging configuration file (e.g., logback.xml).

🧊 NoSQL & Caching

Property Description
spring.data.mongodb.uri MongoDB connection URI.
spring.data.mongodb.database Database name for MongoDB.
spring.data.redis.host Redis server host.
spring.data.redis.port Redis server port.
spring.cache.type Cache type (Redis, EhCache, Caffeine, Generic).
spring.cache.cache-names Comma-separated list of cache names to create.
spring.cache.redis.time-to-live Entry expiration time for Redis cache.

🎨 Web & MVC

Property Description
spring.mvc.format.date Date format to use (e.g., dd/MM/yyyy).
spring.mvc.static-path-pattern Path pattern used for static resources.
spring.web.resources.static-locations Locations of static resources.
spring.jackson.date-format Jackson date format string.
spring.jackson.serialization.indent-output Pretty-print JSON output.
spring.jackson.default-property-inclusion Controls which properties are included during serialization (e.g., non_null).
spring.mvc.throw-exception-if-no-handler-found Whether to throw a NoHandlerFoundException if no handler is found.

πŸ”’ Security

Property Description
spring.security.user.name Default username for Basic Auth.
spring.security.user.password Default password for Basic Auth.
spring.security.user.roles Granted roles for the default user.
spring.security.oauth2.client.registration.* OAuth2 client registration properties.

πŸ“§ Mail

Property Description
spring.mail.host SMTP server host.
spring.mail.port SMTP server port.
spring.mail.username Login user for the mail server.
spring.mail.password Login password for the mail server.
spring.mail.properties.mail.smtp.auth Whether to use authentication for SMTP.
spring.mail.properties.mail.smtp.starttls.enable Whether to enable STARTTLS.

πŸ§ͺ Testing & DevTools

Property Description
spring.devtools.restart.enabled Enable automatic restart on file change.
spring.devtools.livereload.enabled Enable LiveReload for browser refresh.
spring.devtools.restart.exclude Patterns to exclude from triggering a restart.
spring.test.database.replace Strategy for replacing the real DB with an embedded one in tests.

πŸš€ Miscellaneous

Property Description
spring.task.execution.pool.core-size Core number of threads for task execution.
spring.task.scheduling.pool.size Number of threads allowed for scheduled tasks.
spring.flyway.enabled Whether to enable Flyway migration.
spring.flyway.locations Locations of migrations scripts.
spring.liquibase.enabled Whether to enable Liquibase migration.
spring.h2.console.enabled Whether to enable the H2 database web console.
spring.h2.console.path Path at which the H2 console is available.
spring.docker.compose.enabled Enable Spring Boot's Docker Compose support.
spring.output.ansi.enabled Whether to use ANSI color codes in output.
spring.jmx.enabled Expose beans to JMX.
spring.mustache.suffix Suffix for Mustache templates.
spring.thymeleaf.cache Whether to enable Thymeleaf template caching (disable in dev!).
spring.http.log-request-details Log full request details (be careful with PII).

About

πŸš€ The definitive collection of the 100 most important application.properties for Spring Boot developers. Curated for performance, security, and production-readiness. Includes clear explanations and best practices.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors