在 Guice 中模拟弹簧轮廓
在春季,如果我想有一组对象用于生产,另一组用于本地开发/测试。我可以使用注释来指定不同的类,并通过在启动应用时提供系统属性在它们之间切换。@Profile
Guice中是否有类似的东西,或者我是否需要自己手动检查一些属性,并在引导时加载一组不同的模块?Injector
在春季,如果我想有一组对象用于生产,另一组用于本地开发/测试。我可以使用注释来指定不同的类,并通过在启动应用时提供系统属性在它们之间切换。@Profile
Guice中是否有类似的东西,或者我是否需要自己手动检查一些属性,并在引导时加载一组不同的模块?Injector
您需要自己识别环境,并选择要在哪个环境中应用的模块,但您确实可以访问 Modules.override
来专门覆盖某些绑定,而无需创建大量模块变体。明智地使用它 - 如果您覆盖许多绑定或在不可预测的位置,很容易使您的模块纠缠在一起。