java 程序执行中的配置阶段是哪个阶段?

which phase is configuration phase in java program execution?

Martin Fowler 在解释网关和服务存根时参考了配置时间他的书企业应用程序架构模式

You can switch between the real service and the stub at configuration time using Plugin(499).

我想了解什么是 Java 中的配置阶段。

如果您熟悉依赖注入,配置时间 是在运行时选择、实例化和连接依赖项的阶段。避免硬编码(编译时)依赖项允许应用程序部署在不同的环境中而无需重新编译。

可以采用多种设计模式在运行时初始化应用程序的配置,其中之一是 Fowler 引用的插件模式。在第 499 页上,其用途表述为,

Links classes during configuration rather than compilation.

因此配置时间与编译时间形成对比,即它是应用程序运行时的一部分,特别是将依赖项连接在一起的初始阶段。一个普遍存在的配置案例是测试:您在生产中需要一个真实的数据库连接,但内存数据库足以进行测试。在某些时候,您的应用程序必须确定要建立哪个连接,并提供对该连接到某些服务的引用。这是配置阶段。

您可以在配置时使用插件在真实数据库和存根数据库之间切换。