我目前正在创建一个具有大量应用程序上下文的 Spring 应用程序。
SpringApplicationBuilder()
.parent(Parent::class.java).web(WebApplicationType.NONE)
.child(Child::class.java).web(WebApplicationType.SERVLET)
.sibling(Sibling::class.java).web(WebApplicationType.SERVLET)
我想做的(并且正在努力解决)是在设置了 spring 配置文件的情况下公开另一个上下文。
例如。如果需要,请打开管理 API。
看起来很简单,只需添加另一个带有 @Profile
注释的同级,就可以了。唯一的问题是,我在启动过程中遇到异常,因为如果配置文件未处于 Activity 状态,它无法找到任何 Web servlet bean。
我尝试在 if 语句中添加同级,但问题是我无权访问 spring 读取的属性,因为它尚未在应用程序的主函数中读取/初始化.
所以问题是,有什么办法可以解决这个问题,以便在配置文件设置后可以稍后添加 sibling 吗?
最佳答案
我会研究一下 Spring Boot 的条件。您可以对大量其他事情执行条件,这些可以用于配置类和 Bean。
我倾向于直接查看 github,因为每个指南都有点愚蠢,因为它只提供了一两个示例,但没有为您提供可用内容的列表。
希望这有帮助,祝你好运!
如果您解决了,请发布您的解决方案:)
关于java - 有条件地添加 Spring 应用程序同级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58917102/