弹簧注射取决于某种特性

时间:2012-02-21 16:43:09

标签: java spring

我必须为不同类型的合同实施服务。首先,我们考虑创建一个spring服务,该服务将使用if else结构重定向到特定于类型的服务。

春天必须有更好的解决方案。

是否有一种简单的方法可以使用spring动态注入每种类型的服务,因为知道每种类型都有一个抽象服务和一个实现。

示例:

@Inject ContractService contractService;
...   
Contract iContract = new InsuranceContract(...); 
Contract sContract = new SaleContract(...);
...
contractService.save(sContract);
contractService.save(iContract);

ContractService将是抽象的,并且spring将根据合同类型获得正确的服务。

此致

1 个答案:

答案 0 :(得分:0)

Spring不适合你的域逻辑,即使你可以通过覆盖你的类中的某些方法来实现它,Spring会在分配适当的bean之前自动调用它,但是我不推荐给你,只是因为普通的java代码更适合这类任务。

我建议你去寻找你最初建议的解决方案

  

我必须为不同类型的合同实施服务。首先,我们考虑创建一个spring服务,该服务将使用if else结构重定向到特定于类型的服务。

如果您考虑一下,在您的基础问题中,您必须处理if / else if场景,您更愿意在XML或Java中看到它吗?我认为通常最好在Java中看到这一点,并将Spring留给最擅长的。