java - 有条件地添加 Spring 应用程序兄弟
问题描述
我目前正在创建一个具有一堆应用程序上下文的 spring 应用程序。
SpringApplicationBuilder()
.parent(Parent::class.java).web(WebApplicationType.NONE)
.child(Child::class.java).web(WebApplicationType.SERVLET)
.sibling(Sibling::class.java).web(WebApplicationType.SERVLET)
如果设置了弹簧配置文件,我想要做(并且正在努力)是公开另一个上下文。
前任。如果需要,请打开管理 api。
只需添加另一个带有注释的兄弟姐妹,这似乎很简单@Profile
,并且这种工作方式。唯一的问题是我在启动期间遇到异常,因为如果配置文件不活动,它找不到任何 Web servlet bean。
我试图在 if 语句中添加兄弟姐妹,但问题是我无权访问 spring 读取的属性,因为它尚未在应用程序的主函数中读取/初始化。
所以问题是,如果设置了配置文件,有什么办法可以在以后添加兄弟姐妹?
解决方案
我会研究spring Boot的条件。您可以对大量其他事情进行条件处理,这些可以用于配置类和 Bean。
我倾向于直接查看 github,因为每个指南都有些愚蠢,因为它提供了一两个示例,但没有提供可用内容的列表。
希望这有帮助,祝你好运!
如果你解决它,请发布你的解决方案:)