博客
关于我
《spring-boot学习》-13-spring boot application properties配置详解
阅读量:86 次
发布时间:2019-02-26

本文共 6072 字,大约阅读时间需要 20 分钟。

Spring Boot 常用配置参考手册

Spring Boot 应用的配置管理是开发过程中常用的功能之一。本文将详细介绍 Spring Boot 的核心配置项及其应用方法。

核心配置

Spring 配置

  • 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 编码方式。

MVC 配置

路径映射

  • 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:是否添加默认映射。

模板引擎

Thymeleaf

  • spring.thymeleaf.prefix:模板路径前缀。
  • spring.thymeleaf.suffix:模板文件后缀。
  • spring.thymeleaf.mode:模板引擎模式,默认 HTML5。
  • spring.thymeleaf.encoding:模板文件编码方式。
  • spring.thymeleaf.cache:模板缓存状态。

FreeMarker

  • 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:允许的视图名称。

数据库配置

MongoDB

  • spring.data.mongodb.host:数据库主机地址。
  • spring.data.mongodb.port:数据库端口,默认 27017。
  • spring.data.mongodb.uri:数据库连接 URI。
  • spring.data.mongo.repositories.enabled:是否启用 MongoDB仓库支持。

JPA

  • 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:用户角色。

CSRF 保护

  • security.enable-csrf:是否启用 CSRF 防护。
  • security.basic.enabled:是否启用基本认证。
  • security.basic.realm:认证实体。
  • security.basic.path:基本认证路径。

headers 设置

  • 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 蓝绿部署

  • flyway.locations:迁移脚本存储路径。
  • flyway.schemas:迁移的数据库 schema。
  • flyway.initVersion:迁移版本起点。
  • flyway.prefix:迁移脚本前缀。
  • flyway.suffix:迁移脚本后缀。
  • flyway.enabled:是否启用 Flyway。

Liquibase

  • liquibase.change-log:变更日志文件路径。
  • liquibase.contexts:上下文环境配置。
  • liquibase.default-schema:默认数据库 schema。
  • liquibase.drop-first:是否在迁移时删除旧表。
  • liquibase.enabled:是否启用 Liquibase。

其他技术配置

JMX 配置

  • spring.jmx.enabled:是否启用 JMX。

RabbitMQ

  • spring.rabbitmq.host:消息队列服务器地址。
  • spring.rabbitmq.port:消息队列服务器端口。
  • spring.rabbitmq.addresses:消息队列服务器地址列表。
  • spring.rabbitmq.username:消息队列用户名。
  • spring.rabbitmq.password:消息队列密码。
  • spring.rabbitmq.virtualhost:消息队列虚拟主机名。
  • spring.rabbitmq.dynamic:是否动态创建交换机。

Redis

  • 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:连接池等待时间(单位:毫秒)。

ActiveMQ

  • spring.activemq.broker-url:消息队列服务器 URL。
  • spring.activemq.user:消息队列用户名。
  • spring.activemq.password:消息队列密码。
  • spring.activemq.in-memory:是否使用内存队列。
  • spring.activemq.pooled:是否使用连接池。

HornetQ

  • 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:集群密码。

JMS

  • spring.jms.pub-sub-domain:发布订阅域设置。

Spring Batch

  • spring.batch.job.names:批处理作业名称。
  • spring.batch.job.enabled:是否启用批处理。
  • spring.batch.initializer.enabled:是否启用初始化器。

AOP 配置

  • spring.aop.auto:是否启用 AOP 组件。
  • spring.aop.proxy-target-class:代理目标类设置。

文件编码

  • spring.mandatory-file-encoding:是否强制使用特定编码。

Social 配置

  • 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/

    你可能感兴趣的文章
    Node-RED中通过node-red-ui-webcam节点实现访问摄像头并截取照片预览
    查看>>
    Node-RED中配置周期性执行、指定时间阶段执行、指定时间执行事件
    查看>>
    Node-RED安装图形化节点dashboard实现订阅mqtt主题并在仪表盘中显示温度
    查看>>
    Node-RED怎样导出导入流程为json文件
    查看>>
    Node-RED订阅MQTT主题并调试数据
    查看>>
    Node-RED通过npm安装的方式对应卸载
    查看>>
    node-request模块
    查看>>
    node-static 任意文件读取漏洞复现(CVE-2023-26111)
    查看>>
    Node.js 8 中的 util.promisify的详解
    查看>>
    node.js debug在webstrom工具
    查看>>
    Node.js RESTful API如何使用?
    查看>>
    node.js url模块
    查看>>
    Node.js Web 模块的各种用法和常见场景
    查看>>
    Node.js 之 log4js 完全讲解
    查看>>
    Node.js 函数是什么样的?
    查看>>
    Node.js 函数计算如何突破启动瓶颈,优化启动速度
    查看>>
    Node.js 切近实战(七) 之Excel在线(文件&文件组)
    查看>>
    node.js 初体验
    查看>>
    Node.js 历史
    查看>>
    Node.js 在个推的微服务实践:基于容器的一站式命令行工具链
    查看>>