【发布时间】:2014-07-21 12:34:33
【问题描述】:
我正在使用 Spring DI 连接我的组件,但遇到了这个问题。
我有一个具有多个实现的 BaseService 类。它上面的层有一个构建器,它调用服务来获取数据以填充 POJO。我需要调用的服务实现(ServiceA,ServiceB)根据我需要构建的POJO的类型进行更改。
在这种情况下,我该如何自动装配服务,因为它需要后期绑定服务。我该如何应对这种情况? (Spring DI 中的示例真的很有帮助)
我阅读了类似的问题,但找不到答案。我读到服务主机等 SOA 模式为具体的用例提供了不同的解决方案。
请帮忙。 谢谢
【问题讨论】:
-
在春季,它是在启动时绑定一次。您是否希望根据您传递的 pojo 类型调用不同的服务 impl?
-
这正是我想要的。
-
您可以使用 Spring AOP(带有
Around建议)拦截对Builder.buildPOJO(MyPojo.class)方法的调用,并在建议内部,根据作为参数传递的类,建议将致电ServiceA.buildPOJO()或ServiceB.buildPOJO()等。
标签: java spring inheritance soa late-binding