[英]Dynamically loading Spring Beans and Components in Spring Boot
我正在尝试制作一个 Spring Boot 应用程序,其中插件在运行时从 JARs 动态加载。 我还希望插件能够访问所有 Spring 引导功能,最突出的是 Spring 数据 JPA。 我已经想出了如何从 JARs 加载类,现在我的问题是如何“连接”加载的类(可能是 Beans、 JpaRepositories
等)以“使用”我的主要 Spring 引导应用程序。
将来我也可能希望拥有自己的注释系统,用于使用插件中的主应用程序做不同的事情(我知道如何使用反射),并且我希望在我设法之后仍然能够做到这一点整理 Spring 的东西。
我想我必须以某种方式告诉 Spring 在扫描注释时从那些 JARs 中额外寻找@Component
和其他有意义的类。 我尝试使用@ComponentScan
的basePackageClasses
属性,但这需要保持不变,并且硬编码这不是我想做的选择。
那么我想要实现的目标是可能的吗? 如果是,那么我可以通过 Java 代码来实现,还是可以通过编写一些 XML 配置来实现?
当您启动 spring 应用程序时,bean 会在其上下文中加载和挂钩,因此如果您想手动添加更多内容,您可能需要重新加载整个上下文,这对于 spring 启动应用程序可能不是一个好主意。
相反,我建议使用 spring 配置文件,这样您就可以定义不同的配置,并根据您的需要简单地启用您需要的配置。
了解更多信息:
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.