具有当前目录 application.properties
在Spring Boot文档Application Property Files
中
- 当前目录的/ config子目录
- 当前目录
- 类路径/ config包
- classpath根
应用程序结构:
+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 <- plugin
RunnerContext 运行自己的ApplicationContext
并自动连接 ClientBean ,然后 ClientBean 运行插件 {{1} }
ApplicationContext
在 PluginContext 中从application.properties
和plugin
模块中看不到,仅在client
中不可见,因为它是 root ,但当前目录在哪里? 当前目录是什么意思?
是否可以从自己的runner
模块中将application.properties
包含到 PluginContext 中,而无需其他配置(通过plugin
或@PropertySource
进行外部配置)?
答案 0 :(得分:1)
我认为您想要的是具有不同配置的多模块。
首先,我们知道使用:
spring.profile.active=[suffix]
此配置可以定义为激活其他配置属性文件,例如使用spring.profile.active=dev
在上下文中使用配置文件application.xml
和application-dev.properties
。
有一种情况:如果您依赖模块,那么您还将依赖config属性。您需要做的就是覆盖它。
在application.properties
项目或模块中添加一个文件plugin
,覆盖所需的配置。
如果要使用不同的配置文件来具有不同的部署环境,只需在application-online.properties
项目中添加另一个配置文件,例如plugin
。然后激活此配置文件,随时切换活动配置,一切正常。
顺便说一句,我建议您使用yml
配置文件。指出,更轻松,更轻松,更有效。