具有当前目录 application.properties的Spring多上下文问题
在Spring文档中应用程序属性文件
应用结构:
+plugin
+src
+main
+java
+my/package/PluginContext.java
+resources/application.properties
+client
+src
+main
+java
+my/package/ClientBean.java
+resources/application.properties
+runner
+src
+main
+java
+my/package/RunnerContext.java
+resources/application.properties依赖性结构:
runner <- client <- pluginRunnerContext运行自己的ApplicationContext和自动更新ClientBean,然后ClientBean运行插件 ApplicationContext
PluginContext中无法从plugin和client模块中看到application.properties,只能从runner中看到,因为它是根,但是当前目录在哪里?这是什么意思当前目录?
是否可以通过自己的PluginContext模块将application.properties包含到plugin模块,而不需要额外的配置(通过@PropertySource或spring.config.location进行外部配置)?
发布于 2018-09-06 03:37:59
我想你想要的是配置不同的多模块。
首先,我们知道使用:spring.profile.active=[suffix]这个配置可以定义为活动的其他配置属性文件,就像在上下文中使用spring.profile.active=dev使用配置文件application.xml和application-dev.properties一样。
有一种情况:如果您依赖一个模块,那么您也依赖于config属性。你要做的就是重写它。
在您的application.properties项目或模块中添加一个文件plugin,覆盖所需的配置。如果您想拥有不同的配置文件的不同部署环境,只需在plugin项目中添加另一个配置文件,如application-online.properties。然后激活这个配置文件,随时切换活动配置,一切正常。
顺便提一下,我建议您使用yml配置文件。更简单,更轻,更有效。
https://stackoverflow.com/questions/52194778
复制相似问题