当前位置: 首页 > 知识库问答 >
问题:

spring boot:从一个初学者链接应用程序属性?

惠诚
2023-03-14

我正在开发spring boot应用程序和初学者。我想让初学者拥有共同的属性和代码。

在我的初学者中,我有一个application-dev.properties文件。我在初学者中定义了@Profile(“dev”)。

当我使用开发人员配置文件启动我的应用程序时,我会从初学者那里看到属性,这很好。不好的是,当我将application-dev.properties文件添加到我的应用程序中时,starter中的文件将不再被读取。这意味着我不知道如何将常见的“dev”配置文件属性放在那里。

基于外部配置文档,我认为这是可行的,因为先读取starter文件,然后读取app文件。

Spring Boot使用一个非常特殊的PropertySource顺序,该顺序旨在允许合理地重写值。属性按以下顺序考虑:

打包的jar之外的特定于配置文件的应用程序属性(应用程序-{配置文件}。属性和YAML变体)

jar中打包的特定于配置文件的应用程序属性(应用程序-{Profile}.properties和YAML变体)

有什么建议吗?

共有2个答案

赫连心思
2023-03-14

我认为添加application-dev.properties到starter不是个好主意。问题是你只能添加一次文件。嗯,你可以把文件放入文件夹config。这意味着你最多可以添加文件两次。没有更多了。如果你决定使用第二个启动器;然后把application-dev.properties放在哪里?

我认为应用程序*。属性仅应添加到最终用户产品中。对于便携式模块,我建议使用

@Configuration
@PropertySource("classpath:/my/starter/dev.properties")
@Profile("dev")
public class MyConf {}
田嘉澍
2023-03-14

将application-dev.properties放入初学者的src/main/resources/config文件夹中,并将应用程序的application-dev.properties放入src/main/resources中,应该有助于解决这个问题。

 类似资料:
  • 问题内容: 如果我有:和 如果调用,我是否可以通过这种方式将linkedlist2附加到linkedlist1的末尾: 它变为并 变为? 那可能吗 ?还是我需要其他结构? 以下代码不起作用: 输出: 问题答案: Java提供的标准LinkedList类缺少此功能。 正如Donal Boyle所发布的那样,您可以将一个列表的内容添加到另一个列表中,但这并不能像您所描述的那样保持链接。

  • 我在google play商店里有两个应用程序。有可能在第一个描述中创建一个从一个到另一个的http链接吗?

  • Google在这里有一个很好的页面展示了如何这样做:https://developer.android.com/distribute/tools/promote/linking.html 基本上,使用这段代码,它将打开Play Store到新apps页面: 我错过了什么?我肯定它非常简单,也许我需要进口的东西。 解决方案:导入Uri类是一个问题。我仍然不确定新的热键是什么来导入它。Apple-Sh

  • 我在部署Grails应用程序时遇到了问题。一切都可以在本地测试环境中工作。 错误 [localhost-startStop-1]错误context.grailscontextloader-初始化应用程序时出错:创建名为“Transaction ManagerPostProcessor”的bean时出错:bean初始化失败;嵌套异常为org.springframework.beans.factory

  • 我在src/main/resources下创建了2个文件: 应用程序。属性 第一个具有从env变量中获取值的属性,而后者具有固定值。 根据这里的具体情况,我以这样的方式推出了Spring靴: 然而,不会产生任何影响,并且应用程序是局部的。属性似乎被忽略。 有什么提示吗?

  • 我正在将一个非常基本的web应用程序部署到Google应用程序引擎。我使用的是Springboot,我可以在本地很好地运行应用程序,但当我部署到Google时,应用程序引擎不会启动实例。我在启动时配置了一个云SQL数据源。 我有云sql配置属性配置src/main/Resources/application.properties.App Engine似乎找不到这些属性,所以它无法正确设置Cloud