如何提供运行时生成的 groovy 类 到 Spring 引导上下文配置过程

How to supply runtime generated groovy classes to Spring Boot context configuration process

我正在从 Groovy 源生成 classes 并将它们存储在 GroovyClassLoader 中。这些 class 有 @Configuration 注释。 它们在包 a.b.c.d.e 中。 我希望他们配置我的 spring 上下文。 我将线程上下文 class 加载器设置为此 GroovyClassLoader

我的 Spring 引导应用程序设置为扫描包 @ComponentScan("a.b.c")。 我可以确认 Spring Boot 确实在使用这个 GroovyClassLoader 并且这些生成的 classes 可以用这个 class 加载器获取。

上下文在 class 生成完成后初始化,classes 存储在 GroovyClassLoader

但是,Spring Boot 忽略了这些 classes。我怀疑组件扫描会通过存储 classes 的罐子和目录,而这些 生成的 classes 没有在这些地方具体化?

我应该如何将这些生成的配置 classes 提供给 Spring 启动?

由于在启动 Spring 引导上下文之前已经生成了 类,因此可以使用 SpringApplicationBuilder.sources(Class<?>...) 注册它们 方法。