JAVA系统中Spring Boot 应用程序的配置文件:application.yml

backend\src\main\resources\application.yml 是一个配置文件,用于定义 Spring Boot 应用程序的各种配置属性。这个文件通常包含数据库连接、服务器设置、日志配置、安全设置以及其他应用程序级别的配置。

文件路径

复制代码
backend\src\main\resources\application.yml

文件内容

以下是一个典型的 application.yml 文件的示例:

yaml 复制代码
server:
  port: 8080
  servlet:
    context-path: /erp

spring:
  application:
    name: mechanical-erp-backend
  datasource:
    url: jdbc:mysql://localhost:3306/mechanical_erp?useSSL=false&serverTimezone=UTC
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true
    properties:
      hibernate:
        dialect: org.hibernate.dialect.MySQL5InnoDBDialect
        format_sql: true
  security:
    user:
      name: admin
      password: admin123

logging:
  level:
    root: INFO
    com.mechanical.erp: DEBUG

management:
  endpoints:
    web:
      exposure:
        include: "*"

security:
  oauth2:
    resourceserver:
      jwt:
        issuer-uri: https://your-auth-server.com/oauth/token

# 其他自定义配置
custom:
  app:
    feature-flag:
      new-ui: true
    timeout:
      default: 30s

解释

1. Server 配置
yaml 复制代码
server:
  port: 8080
  servlet:
    context-path: /erp
  • port: 指定应用程序监听的端口号。
  • context-path: 指定应用程序的上下文路径。
2. Spring 配置
yaml 复制代码
spring:
  application:
    name: mechanical-erp-backend
  datasource:
    url: jdbc:mysql://localhost:3306/mechanical_erp?useSSL=false&serverTimezone=UTC
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true
    properties:
      hibernate:
        dialect: org.hibernate.dialect.MySQL5InnoDBDialect
        format_sql: true
  security:
    user:
      name: admin
      password: admin123
  • application.name: 指定应用程序的名称。
  • datasource: 数据库连接配置,包括 URL、用户名、密码和驱动类名。
  • jpa :
    • hibernate.ddl-auto : 指定 Hibernate 如何自动处理数据库模式(例如 update, create, create-drop)。
    • show-sql: 是否在控制台显示 SQL 语句。
    • properties.hibernate.dialect: 指定使用的 Hibernate 方言。
    • properties.hibernate.format_sql: 是否格式化 SQL 语句。
  • security.user: 默认用户的安全配置,包括用户名和密码。
3. Logging 配置
yaml 复制代码
logging:
  level:
    root: INFO
    com.mechanical.erp: DEBUG
  • root : 设置根日志级别为 INFO
  • com.mechanical.erp : 设置特定包的日志级别为 DEBUG
4. Management 配置
yaml 复制代码
management:
  endpoints:
    web:
      exposure:
        include: "*"
  • endpoints.web.exposure.include: 暴露所有管理端点。
5. Security 配置
yaml 复制代码
security:
  oauth2:
    resourceserver:
      jwt:
        issuer-uri: https://your-auth-server.com/oauth/token
  • oauth2.resourceserver.jwt.issuer-uri: 指定 JWT 发行者的 URI。
6. 自定义配置
yaml 复制代码
custom:
  app:
    feature-flag:
      new-ui: true
    timeout:
      default: 30s
  • custom.app.feature-flag.new-ui: 自定义功能标志,启用新 UI。
  • custom.app.timeout.default: 自定义默认超时时间。

使用示例

以下是一些常见的配置项及其用途:

数据库连接配置
yaml 复制代码
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mechanical_erp?useSSL=false&serverTimezone=UTC
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
  • url: 数据库连接 URL。
  • username: 数据库用户名。
  • password: 数据库密码。
  • driver-class-name: JDBC 驱动类名。
JPA 配置
yaml 复制代码
spring:
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true
    properties:
      hibernate:
        dialect: org.hibernate.dialect.MySQL5InnoDBDialect
        format_sql: true
  • ddl-auto: 控制 Hibernate 如何处理数据库模式。
  • show-sql: 是否在控制台显示 SQL 语句。
  • dialect: 指定使用的 Hibernate 方言。
  • format_sql: 是否格式化 SQL 语句。
日志配置
yaml 复制代码
logging:
  level:
    root: INFO
    com.mechanical.erp: DEBUG
  • level.root: 设置根日志级别。
  • level.com.mechanical.erp: 设置特定包的日志级别。
管理端点配置
yaml 复制代码
management:
  endpoints:
    web:
      exposure:
        include: "*"
  • include: 暴露所有管理端点。

总结

  • application.yml (配置文件) :
    • 目的: 定义 Spring Boot 应用程序的各种配置属性。
    • 内容: 包含服务器配置、Spring 配置、日志配置、安全配置和其他应用程序级别的配置。
    • 作用: 用于配置应用程序的行为和环境,确保应用程序能够正确启动和运行。

确保这个文件中的配置正确无误,并且符合项目的整体需求。

相关推荐
我真的是大笨蛋1 天前
K8S-Pod(下)
java·笔记·云原生·容器·kubernetes
碳水加碳水1 天前
Java代码审计实战:XML外部实体注入(XXE)深度解析
java·安全·web安全·代码审计
努力也学不会java1 天前
【设计模式】 原型模式
java·设计模式·原型模式
方渐鸿1 天前
【2024】k8s集群 图文详细 部署安装使用(两万字)
java·运维·容器·kubernetes·k8s·运维开发·持续部署
学亮编程手记1 天前
K8S v1.33 版本主要新特性介绍
java·容器·kubernetes
Haven-1 天前
Java-面试八股文-JVM篇
java·jvm·面试
我真的是大笨蛋1 天前
JVM调优总结
java·jvm·数据库·redis·缓存·性能优化·系统架构
wjs0401 天前
Git常用的命令
java·git·gitlab
superlls1 天前
(算法 哈希表)【LeetCode 349】两个数组的交集 思路笔记自留
java·数据结构·算法
honder试试1 天前
焊接自动化测试平台图像处理分析-模型训练推理
开发语言·python