使用 Spring 注入运行时依赖性
我目前的项目是利用Spring,我们的架构师决定让Spring管理服务,存储库和工厂对象,而不是域对象。我们密切关注领域驱动设计。不对域对象使用 spring 的原因主要是 spring 只允许静态依赖注入。静态依赖注入的意思是,依赖关系是在xml配置中指定的,它们被“冻结”。
我可能错了,但我目前的理解是,即使我的领域只利用接口与对象通信,但spring的xml配置迫使我指定具体的依赖关系。因此,所有具体的依赖关系都必须在部署时解决。有时,这是不可行的。我们的大多数用例都基于基于运行时数据或从最终用户接收的消息注入特定类型。
我们的大部分设计都遵循命令模式。因此,当我们收到命令时,我们希望构造我们的域模型,并根据从命令接收的数据,我们将特定的类型集注入到我们的聚合根对象中。因此,由于缺乏spring基于运行时数据构建域模型的能力,我们被迫使用静态工厂方法,构建器和工厂模式。
有人可以建议如果春天有问题到上述情况吗?
我可以使用AOP来注入依赖关系,但我没有利用spring的基础设施。