如何向Spring Boot上下文配置过程提供运行时生成的groovy类?

问题描述 投票:1回答:1

我正在从Groovy源码中生成类,并将它们存储在 GroovyClassLoader. 这些班级有 @Configuration 注释.它们在软件包 a.b.c.d.e.我想让他们配置我的spring上下文。 我把线程上下文类加载器设置成这样的 GroovyClassLoader.

我的Spring Boot应用程序被设置为扫描包。@ComponentScan("a.b.c").我可以确认Spring Boot确实使用了这个方法。GroovyClassLoader 并且这些生成的类可以通过这个类加载器来获取。

在类生成完成后,上下文被初始化,类被存储在 GroovyClassLoader.

然而,Spring Boot却对这些类视而不见,我怀疑组件扫描会检查存储类的jars和目录,而这些生成的类在这些地方都没有实现。我怀疑组件扫描会通过存储类的jars和目录,而这些生成的类在这些地方都没有被实现?

我应该如何将这些生成的配置类提供给Spring Boot?

spring spring-boot groovy classloader dynamic-class-creation
1个回答
0
投票

由于你在启动Spring Boot上下文之前已经有了生成的类,你可以通过使用以下方法注册它们 SpringApplicationBuilder.sources(Class<?>...)方法。

© www.soinside.com 2019 - 2024. All rights reserved.