Spring Boot 项目中的 application.properties 文件在哪里?

Posted

技术标签:

【中文标题】Spring Boot 项目中的 application.properties 文件在哪里?【英文标题】:Where is the application.properties file in a Spring Boot project? 【发布时间】:2016-12-11 00:58:17 【问题描述】:

我开始了一个新的 Spring Boot 项目,我想更改端口号,我读到我必须修改 /resource/application.properties 才能这样做。

但是我找不到这个文件,我错过了什么吗?我需要安装引导启动器吗?我不想使用 spring CLI 设置它。

我应该手动创建这个文件吗?如果是这样,我想我必须在代码中的某处将此文件标记为属性文件。那会在哪里?

非常感谢!

【问题讨论】:

如果不存在手动创建文件 【参考方案1】:

Spring Boot 会在您的应用启动时自动从以下位置查找并加载 application.properties 和 application.yaml 文件:

    类路径根 类路径 /config 包 当前目录 当前目录下的 /config 子目录 /config 子目录的直接子目录

列表按优先级排序(较低项目的值覆盖较早的项目)。

您可以在这里找到更多信息https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-files

【讨论】:

【参考方案2】:

您可以手动创建它,但 application.properties 的默认位置在这里

【讨论】:

【参考方案3】:

在您的第一次 Spring Boot 项目之旅中,我建议您从 Spring Starter Try this link here 开始。

它会自动为您生成项目结构,例如 this.application.perperties,它将位于 /resources 下。

application.properties 重要变化, server.port = 你的 PORT(XXXX) 默认=8080 server.servlet.context-path=/api (SpringBoot 2.x.) server.contextPath-path=/api(SpringBoot版本

如果您不想进行冗余属性设置,您可以使用任何方式 application.yml

示例 application.yml

server:
   port: 8080 
   contextPath: /api

application.properties

server.port = 8080
server.contextPath = /api

【讨论】:

如何从任何类访问端口变量?【参考方案4】:

您也可以手动创建 application.properties 文件。

SpringApplication 将从以下位置的 application.properties 文件中加载属性并将它们添加到 Spring 环境中:

当前目录的 /config 子目录。 当前目录 类路径 /config 包 类路径根

列表按优先级排序(在列表中较高位置定义的属性会覆盖在较低位置定义的属性)。 (来自the Spring boot features external configuration doc page)

所以继续创建它

【讨论】:

【参考方案5】:

您需要在类路径中添加application.properties 文件。

如果您使用的是 Maven 或 Gradle,您只需将文件放在 src/main/resources 下即可。 如果您没有使用 Maven 或任何其他构建工具,请将其放在您的 src 文件夹下,应该没问题。

然后你可以在属性文件中添加一个条目server.port = xxxx

【讨论】:

首先我要感谢您的回答。我试过这个,但它对我不起作用。 Tomcat 甚至从一个随机端口开始。 我用java spring boot开始了一个新项目。在这里它起作用了。 如果你想直接添加到一个WAR中,只需将它放在/WEB-INF/classes/下即可

以上是关于Spring Boot 项目中的 application.properties 文件在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

根据环境变量设置 Spring Boot application.properties

从 Shell 脚本优雅地关闭 Spring Boot 应用程序

使用 Spring Data JPA 在 Spring Boot 2 应用程序中发布数据

SpringBoot发送简单文本邮件

多模块 Spring Boot 项目中的 Gradle 依赖插件

SpringBoot系列——Springboot项目中的spring-boot-starter-parent,spring-boot-dependencies依赖关系