springboot配置
### Spring Boot 配置详解 #### 一、配置文件定位与命名 - **spring.config.name**: 定义配置文件的基本名称,默认为`application`。如果你希望使用其他名称,可以通过此属性进行修改。例如:`spring.config.name=myAppConfig`。 - **spring.config.location**: 指定配置文件的位置。可以通过该属性指定多个位置来加载不同环境下的配置文件。例如:`spring.config.location=file:/path/to/config/,file:/path/to/other-config/`。 #### 二、环境配置 - **spring.profiles.active**: 设置活动的配置文件。Spring Boot 支持多环境配置,通过这个属性可以指定当前应用运行时需要激活的配置文件。例如:`spring.profiles.active=dev,prod`。 - **spring.profiles.include**: 无条件激活指定的配置文件列表。这通常用于在任何环境中都需要加载的特定配置。例如:`spring.profiles.include=common,security`。 #### 三、Spring 应用程序设置 - **spring.main.sources**: 指定主类的位置或启动类的包名。这有助于 Spring Boot 自动扫描这些位置来查找启动类。 - **spring.main.web-environment**: 检测是否运行在 Web 环境下。默认情况下,Spring Boot 会根据是否存在 Servlet API 来自动检测。 - **spring.main.show-banner**: 控制 Spring Boot 在启动时是否显示启动横幅。这对于开发环境很有帮助,但在生产环境中可能会被禁用。 #### 四、日志配置 - **logging.path**: 日志文件存储的路径。默认情况下,日志文件会被写入到当前目录。 - **logging.file**: 日志文件的名称。如果指定了`logging.path`,则会将路径和文件名组合起来作为日志文件的完整路径。 - **logging.config**: 日志框架配置文件的位置。默认情况下,Spring Boot 使用 logback 作为日志框架,并且会寻找`classpath:logback.xml`。 - **logging.level.***: 设置各个包的日志级别。例如,如果你想让所有的 Spring Boot 日志输出 DEBUG 级别,可以设置为`logging.level.org.springframework=DEBUG`。 #### 五、身份验证与上下文初始化 - **spring.application.name**: 应用名称,主要用于区分不同的 Spring Boot 应用。 - **spring.application.index**: 应用索引,通常不被使用,但在某些场景下可能有用,如在集群环境中标识不同的实例。 #### 六、嵌入式服务器配置 - **server.port**: 指定应用监听的端口,默认为 8080。 - **server.address**: 绑定到特定的网络接口地址(如 IP 地址)。 - **server.session-timeout**: 会话超时时间,单位是秒。 - **server.context-parameters.***: 定义 Servlet 上下文的初始化参数。 - **server.context-path**: 应用的上下文路径,默认为 `/`。 - **server.servlet-path**: Servlet 的路径,默认也是 `/`。 #### 七、SSL 配置 - **server.ssl.enabled**: 是否启用 SSL 支持,默认为 `false`。 - **server.ssl.client-auth**: 是否需要客户端认证。 - **server.ssl.key-alias**: 密钥别名。 - **server.ssl.ciphers**: 支持的 SSL 密码套件。 - **server.ssl.key-password**: 密钥密码。 - **server.ssl.key-store**: 密钥库文件的路径。 - **server.ssl.key-store-password**: 密钥库密码。 - **server.ssl.key-store-provider**: 密钥库提供者。 - **server.ssl.key-store-type**: 密钥库类型。 - **server.ssl.protocol**: SSL/TLS 协议版本,默认为 `TLS`。 #### 八、Tomcat 特定配置 - **server.tomcat.access-log-pattern**: 访问日志模式。 - **server.tomcat.access-log-enabled**: 是否启用访问日志,默认为 `false`。 - **server.tomcat.internal-proxies**: 匹配内部代理 IP 地址的正则表达式。 - **server.tomcat.protocol-header**: 前端代理转发协议头。 Spring Boot 提供了丰富的配置选项来满足各种开发需求,开发者可以根据实际的应用场景灵活地调整这些配置项。通过合理地设置这些属性,可以大大提高 Spring Boot 应用的可维护性和扩展性。