SpringBoot配置文件中常用配置属性详解(application.properties/application.yml)

 更新时间:2025年07月28日 08:53:28   作者:超级小忍  
Spring Boot 的一大优势就是通过简单的配置文件即可快速定制应用行为,而无需编写大量 XML 配置或 Java 代码,下面我们就来看看application.properties和application.yml作为核心配置文件的常见属性吧

前言

Spring Boot 的一大优势就是通过简单的配置文件即可快速定制应用行为,而无需编写大量 XML 配置或 Java 代码。Spring Boot 使用 application.propertiesapplication.yml 作为核心配置文件,支持丰富的配置属性。

本文将详细介绍 Spring Boot 常用的配置属性,包括:

  • 服务器配置
  • 数据源配置
  • JPA / Hibernate 配置
  • 日志配置
  • Thymeleaf / 模板引擎配置
  • 安全配置(Spring Security)
  • 缓存配置
  • 任务调度配置
  • 国际化配置
  • 其他常用配置

1. 服务器相关配置(Server Properties)

控制嵌入式服务器(如 Tomcat、Jetty)的行为。

application.properties 示例

server.port=8080
server.servlet.context-path=/api
server.tomcat.max-connections=10000
server.tomcat.max-http-form-post-size=20MB
server.error.whitelabel.enabled=false

application.yml 示例

server:
  port: 8080
  servlet:
    context-path: /api
  tomcat:
    max-connections: 10000
    max-http-form-post-size: 20MB
  error:
    whitelabel:
      enabled: false

常见配置说明

属性名说明
server.port应用监听的端口,默认 8080
server.servlet.context-path应用的上下文路径,默认为空
server.tomcat.max-connectionsTomcat 最大连接数
server.tomcat.max-http-form-post-sizeHTTP 表单 POST 最大大小
server.error.whitelabel.enabled是否启用默认错误页面(关闭后返回 JSON 错误信息)

2. 数据源配置(DataSource Properties)

用于配置数据库连接池,常见如 HikariCP、Tomcat JDBC、DBCP2 等。

application.properties 示例

spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.hikari.maximum-pool-size=10
spring.datasource.hikari.idle-timeout=30000

application.yml 示例

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
    hikari:
      maximum-pool-size: 10
      idle-timeout: 30000

常见配置说明

属性名说明
spring.datasource.url数据库连接 URL
spring.datasource.username数据库用户名
spring.datasource.password数据库密码
spring.datasource.driver-class-name数据库驱动类名
spring.datasource.hikari.*HikariCP 特定配置(如最大连接数、空闲超时)

3. JPA / Hibernate 配置(Spring Data JPA)

用于配置 JPA 和 Hibernate 的行为。

application.properties 示例

spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
spring.jpa.open-in-view=false

application.yml 示例

spring:
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true
    properties:
      hibernate:
        format_sql: true
        dialect: org.hibernate.dialect.MySQL8Dialect
    open-in-view: false

常见配置说明

属性名说明
spring.jpa.hibernate.ddl-auto自动建表策略(create、update、validate、none)
spring.jpa.show-sql是否打印 SQL
spring.jpa.properties.hibernate.format_sql格式化 SQL
spring.jpa.properties.hibernate.dialectHibernate 方言
spring.jpa.open-in-view是否启用 OpenEntityManagerInViewFilter(不推荐开启)

4. 日志配置(Logging)

Spring Boot 支持 Logback、Log4j2、Java Util Logging 等日志框架。

application.properties 示例

logging.level.root=INFO
logging.level.com.example.demo=DEBUG
logging.file.name=logs/app.log
logging.file.max-size=10MB
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} - %msg%n

application.yml 示例

logging:
  level:
    root: INFO
    com.example.demo: DEBUG
  file:
    name: logs/app.log
    max-size: 10MB
  pattern:
    console: "%d{yyyy-MM-dd HH:mm:ss} - %msg%n"

常见配置说明

属性名说明
logging.level.*设置不同包的日志级别
logging.file.name日志输出文件路径
logging.file.max-size日志文件最大大小
logging.pattern.console控制台日志输出格式

5. 模板引擎配置(Thymeleaf)

如果你使用 Thymeleaf 模板引擎,可以配置缓存、模板路径等。

application.properties 示例

spring.thymeleaf.cache=false
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML
spring.thymeleaf.encoding=UTF-8

application.yml 示例

spring:
  thymeleaf:
    cache: false
    prefix: classpath:/templates/
    suffix: .html
    mode: HTML
    encoding: UTF-8

6. 安全配置(Spring Security)

用于配置 Spring Security 的默认行为。

application.properties 示例

spring.security.user.name=admin
spring.security.user.password=123456
spring.security.user.roles=USER,ADMIN

application.yml 示例

spring:
  security:
    user:
      name: admin
      password: 123456
      roles:
        - USER
        - ADMIN

注意:实际项目中建议使用数据库认证,而不是配置文件方式。

7. 缓存配置(Cache)

Spring Boot 支持多种缓存实现,如 Caffeine、EhCache、Redis 等。

application.properties 示例

spring.cache.type=simple
spring.cache.cache-names=myCache
spring.cache.simple.initial-capacity=100
spring.cache.simple.max-entries=500

application.yml 示例

spring:
  cache:
    type: simple
    cache-names: myCache
    simple:
      initial-capacity: 100
      max-entries: 500

8. 任务调度配置(Scheduling)

启用定时任务并配置线程池。

application.properties 示例

spring.task.scheduling.pool.size=5

application.yml 示例

spring:
  task:
    scheduling:
      pool:
        size: 5

在代码中使用 @Scheduled 注解即可定义定时任务。

9. 国际化配置(i18n)

配置消息源和默认语言。

application.properties 示例

spring.messages.basename=messages
spring.messages.encoding=UTF-8
spring.locale=zh

application.yml 示例

spring:
  messages:
    basename: messages
    encoding: UTF-8
  locale: zh

10. 其他常用配置

10.1 文件上传配置

spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
spring:
  servlet:
    multipart:
      max-file-size: 10MB
      max-request-size: 10MB

10.2 WebMvc 配置

spring.mvc.async.request-timeout=0
spring.mvc.format.date-time=yyyy-MM-dd HH:mm:ss
spring:
  mvc:
    async:
      request-timeout: 0
    format:
      date-time: yyyy-MM-dd HH:mm:ss

10.3 Actuator 配置

management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
management:
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    health:
      show-details: always

总结

Spring Boot 的配置文件非常灵活,通过 application.propertiesapplication.yml 可以快速配置服务器、数据库、日志、缓存、安全等多个模块的行为。使用合适的配置,可以显著提升开发效率和系统稳定性。

建议:在开发阶段启用更多调试信息(如 SQL 打印),在生产环境中关闭调试输出并启用缓存、日志分割等优化配置。

到此这篇关于SpringBoot配置文件中常用配置属性详解(application.properties/application.yml)的文章就介绍到这了,更多相关SpringBoot配置文件配置属性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java实现小型图书馆管理系统

    Java实现小型图书馆管理系统

    这篇文章主要为大家详细介绍了Java实现小型图书馆管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • JAVA虚拟机中 -D, -X, -XX ,-server参数使用

    JAVA虚拟机中 -D, -X, -XX ,-server参数使用

    本文主要介绍了JAVA虚拟机中 -D, -X, -XX ,-server参数使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-03-03
  • Java实现定时任务最简单的3种方法

    Java实现定时任务最简单的3种方法

    几乎在所有的项目中,定时任务的使用都是不可或缺的,如果使用不当甚至会造成资损,下面这篇文章主要给大家介绍了关于Java实现定时任务最简单的3种方法,本文通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • javaWeb实现学生信息管理系统

    javaWeb实现学生信息管理系统

    这篇文章主要为大家详细介绍了javaWeb实现学生信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 关于Spring @Transactional事务传播机制详解

    关于Spring @Transactional事务传播机制详解

    我们日常工作中极少使用事务传播级别,单纯只是使用事务和rollbackfor抛出异常来解决事务问题,但其实我们很多时候使用的是不正确的,或者说会造成事务粒度过大,本文详解一下事务传播级别,也让自己更好地处理事务问题,需要的朋友可以参考下
    2023-08-08
  • 详解spring boot实现websocket

    详解spring boot实现websocket

    这篇文章主要介绍了详解spring boot实现websocket,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 基于Java+OpenClaw实现企业级智能体自动化

    基于Java+OpenClaw实现企业级智能体自动化

    本文介绍了OpenClaw开源框架,它为Java程序员提供了一个无需学习Python便可调用AI智能体的API网关,文章详细讲解了OpenClaw的核心功能、架构设计、环境准备、Java集成实战及企业级落地的关键细节,需要的朋友可以参考下
    2026-04-04
  • java并发编程专题(八)----(JUC)实例讲解CountDownLatch

    java并发编程专题(八)----(JUC)实例讲解CountDownLatch

    这篇文章主要介绍了java CountDownLatch的相关资料,文中示例代码非常详细,帮助大家理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • Java Arrays.fill()的具体使用

    Java Arrays.fill()的具体使用

    本文主要介绍了Java Arrays.fill()的具体使用,更好地理解Arrays.fill()方法的用法以及在实际应用中如何使用它,感兴趣的可以了解一下
    2023-09-09
  • Java中将String类型依照某个字符分割成数组的方法

    Java中将String类型依照某个字符分割成数组的方法

    下面小编就为大家分享一篇Java中将String类型依照某个字符分割成数组的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03

最新评论