本文共 6072 字,大约阅读时间需要 20 分钟。
Spring Boot 应用的配置管理是开发过程中常用的功能之一。本文将详细介绍 Spring Boot 的核心配置项及其应用方法。
spring.config.name:默认配置文件名为 application,可以自定义。spring.config.location:指定配置文件的位置。spring.profiles:定义可选的环境配置文件名,逗号分隔。spring.main.sources:指定主类的来源文件。spring.main.web-environment:默认检测环境。spring.main.show-banner:显示启动 banner。logging.path:日志文件存储路径。logging.file:默认日志文件名。logging.config:加载日志配置文件路径。server.port:默认端口为 8080。server.session-timeout:会话超时时间(秒)。server.context-path:应用上下文路径,默认 /。server.servlet-path:Servlet 访问路径,默认 /。server.tomcat.access-log-pattern:访问日志格式。server.tomcat.access-log-enabled:是否启用访问日志。server.tomcat.protocol-header:代理协议头字段。server.tomcat.remote-ip-header:远程 IP 头字段。server.tomcat.basedir:Tomcat 的基础目录,默认 /tmp。server.tomcat.background-processor-delay:后台处理延迟(秒)。server.tomcat.max-threads:协议处理的最大线程数。server.tomcat.uri-encoding:URI 编码方式。http.mappers.json-pretty-print:是否美化 JSON 格式。http.mappers.json-sort-keys:是否排序键。spring.mvc.locale:固定语言环境。spring.mvc.date-format:日期格式设置。spring.mvc.message-codes-resolver-format:错误代码格式。spring.view.prefix:视图前缀。spring.view.suffix:视图后缀。spring.resources.cache-period:资源缓存时间(单位:秒)。spring.resources.add-mappings:是否添加默认映射。spring.thymeleaf.prefix:模板路径前缀。spring.thymeleaf.suffix:模板文件后缀。spring.thymeleaf.mode:模板引擎模式,默认 HTML5。spring.thymeleaf.encoding:模板文件编码方式。spring.thymeleaf.cache:模板缓存状态。spring.freemarker.allowRequestOverride:是否允许请求覆盖模板。spring.freemarker.allowSessionOverride:是否允许会话覆盖模板。spring.freemarker.cache:模板缓存状态。spring.freemarker.checkTemplateLocation:模板路径检查状态。spring.freemarker.contentType:模板内容类型。spring.freemarker.exposeRequestAttributes:暴露请求属性。spring.freemarker.exposeSessionAttributes:暴露会话属性。spring.freemarker.exposeSpringMacroHelpers:暴露 Spring 宏助方法。spring.freemarker.prefix:模板路径前缀。spring.freemarker.suffix:模板文件后缀。spring.freemarker.templateEncoding:模板文件编码方式。spring.freemarker.templateLoaderPath:模板加载路径。spring.freemarker.viewNames:允许的视图名称。spring.data.mongodb.host:数据库主机地址。spring.data.mongodb.port:数据库端口,默认 27017。spring.data.mongodb.uri:数据库连接 URI。spring.data.mongo.repositories.enabled:是否启用 MongoDB仓库支持。spring.jpa.properties.*:JPA 连接属性。spring.jpa.openInView:启用在视图中打开新事务。spring.jpa.show-sql:是否显示 SQL 语句。spring.jpa.database-platform:数据库平台配置。spring.jpa.database:数据库类型。spring.jpa.generate-ddl:是否生成 DDL 语句。spring.jpa.hibernate.naming-strategy:命名策略配置。spring.jpa.hibernate.ddl-auto:DDL 自动策略。spring.data.jpa.repositories.enabled:是否启用 JPA仓库支持。security.user.name:登录用户名。security.user.password:登录密码。security.user.role:用户角色。security.enable-csrf:是否启用 CSRF 防护。security.basic.enabled:是否启用基本认证。security.basic.realm:认证实体。security.basic.path:基本认证路径。security.headers.xss:防止 XSS 攻击。security.headers.cache:控制缓存策略。security.headers.frame:控制 iframe 导航。security.headers.contentType:控制内容类型。security.headers.hsts:设置 SameSite cookie。security.sessions:会话状态设置。spring.datasource.name:数据源名称。spring.datasource.initialize:是否初始化数据源。spring.datasource.schema:数据源 schema 脚本路径。spring.datasource.data:数据源 DML 脚本路径。spring.datasource.platform:数据源平台设置。spring.datasource.continueOnError:是否在初始化失败时继续。spring.datasource.separator:数据源语句分隔符。spring.datasource.driverClassName: JDBC 驱动类名。spring.datasource.url:数据源连接 URL。spring.datasource.username:数据源用户名。spring.datasource.password:数据源密码。spring.datasource.max-active:最大活跃连接数。spring.datasource.max-idle:最大空闲连接数。spring.datasource.min-idle:最小空闲连接数。spring.datasource.initial-size:初始连接池大小。spring.datasource.validation-query:验证连接池状态的 SQL 语句。spring.datasource.test-on-borrow:在借入连接时测试。spring.datasource.test-on-return:在归还连接时测试。spring.datasource.test-while-idle:空闲时进行测试。spring.datasource.time-between-eviction-runs-millis:清空连接池的时间间隔(毫秒)。spring.datasource.min-evictable-idle-time-millis:最小空闲时间(毫秒)。flyway.locations:迁移脚本存储路径。flyway.schemas:迁移的数据库 schema。flyway.initVersion:迁移版本起点。flyway.prefix:迁移脚本前缀。flyway.suffix:迁移脚本后缀。flyway.enabled:是否启用 Flyway。liquibase.change-log:变更日志文件路径。liquibase.contexts:上下文环境配置。liquibase.default-schema:默认数据库 schema。liquibase.drop-first:是否在迁移时删除旧表。liquibase.enabled:是否启用 Liquibase。spring.jmx.enabled:是否启用 JMX。spring.rabbitmq.host:消息队列服务器地址。spring.rabbitmq.port:消息队列服务器端口。spring.rabbitmq.addresses:消息队列服务器地址列表。spring.rabbitmq.username:消息队列用户名。spring.rabbitmq.password:消息队列密码。spring.rabbitmq.virtualhost:消息队列虚拟主机名。spring.rabbitmq.dynamic:是否动态创建交换机。spring.redis.host:Redis 服务器地址。spring.redis.port:Redis 服务器端口。spring.redis.pool.max-idle:最大空闲连接数。spring.redis.pool.min-idle:最小空闲连接数。spring.redis.pool.max-active:最大活跃连接数。spring.redis.pool.max-wait:连接池等待时间(单位:毫秒)。spring.activemq.broker-url:消息队列服务器 URL。spring.activemq.user:消息队列用户名。spring.activemq.password:消息队列密码。spring.activemq.in-memory:是否使用内存队列。spring.activemq.pooled:是否使用连接池。spring.hornetq.mode:连接模式(本地或嵌入式)。spring.hornetq.host:HornetQ 服务地址。spring.hornetq.port:HornetQ 服务端口。spring.hornetq.embedded.enabled:是否启用嵌入式服务。spring.hornetq.embedded.serverId:嵌入式服务的 ID。spring.hornetq.embedded.persistent:是否持久化消息。spring.hornetq.embedded.data-directory:数据存储路径。spring.hornetq.embedded.queues:初始化队列列表。spring.hornetq.embedded.topics:初始化主题列表。spring.hornetq.embedded.cluster-password:集群密码。spring.jms.pub-sub-domain:发布订阅域设置。spring.batch.job.names:批处理作业名称。spring.batch.job.enabled:是否启用批处理。spring.batch.initializer.enabled:是否启用初始化器。spring.aop.auto:是否启用 AOP 组件。spring.aop.proxy-target-class:代理目标类设置。spring.mandatory-file-encoding:是否强制使用特定编码。spring.social.auto-connection-views:默认连接视图设置。spring.social.facebook.app-id:Facebook 应用 ID。spring.social.facebook.app-secret:Facebook 应用密钥。spring.social.linkedin.app-id:LinkedIn 应用 ID。spring.social.linkedin.app-secret:LinkedIn 应用密钥。spring.social.twitter.app-id:Twitter 应用 ID。spring.social.twitter.app-secret:Twitter 应用密钥。为了提升搜索引擎排名,文章采用了以下优化措施:
以上配置项可以根据实际项目需求进行定制和扩展,以充分发挥 Spring Boot 的优势。
转载地址:http://mtfk.baihongyu.com/