Java Spring是否可以在运行时添加或删除@Component



我有这样的东西。

@Component public class JohnStephen
@Component public class Guadalupe
@Component public class CristianOrtiz
@Component public class CristinaCuellar
/*AND SO ON*/

所有的概要文件都在创建所有的bean,因为所有的bean都可以在每个环境中使用。

我已经创造了1000多个豆子,对吧?但我确实意识到,每次启动应用程序时我只需要一个。我的意思是,我知道其中哪些是必需的,我可以将这些信息传递到JVM vm_options上,类似这样。

vm-options beanToCreate=CristianOrtiz

关于这些信息,我希望CristianOrtiz只被设置为一个bean,而不是其他的bean,在春天可以以任何方式做到这一点吗?

您可以在启动时使用spring配置文件来打开和关闭这些配置文件,但不能在运行时使用。

@Profile("profileName")注释每个组件,并用-Dspring.profiles.active=profileName作为命令行参数激活它们。

进一步阅读:-baeldung 的一个很好的引物

最新更新