原创转载请注明出处:http://agilestyle.iteye.com/blog/2330133

 

考虑一个如下的场景:如图所示,两个Invoice的Service实现同一个接口,在Resource下调用两个服务的话,需要使用@Qualifier注解来确保注入的Bean是唯一的。
Spring @Qualifier注解

IBatchApprovalService.java

public interface IBatchApprovalService {
    ...
}

 

IInvoiceApprovalService.java

public interface IInvoiceApprovalService {
    ...
}

 

PaymentBatchApprovalService.java

@Service
public class PaymentBatchApprovalService implements IBatchApprovalService {
    ...
}

 

InvoiceDetailApprovalService.java

@Service("invoiceDetailApprovalService")
public class InvoiceDetailApprovalService implements IInvoiceApprovalService {
    ...
}

 

InvoiceHeaderApprovalService.java

@Service("invoiceHeaderApprovalService")
public class InvoiceHeaderApprovalService implements IInvoiceApprovalService {
    ...
}

 

PaymentApprovalResource.java

@Component
@Scope("request")
@Path("/payment_approval")
public class PaymentApprovalResource {
    ...
    @Inject
    @Qualifier("invoiceDetailApprovalService")
    private IInvoiceApprovalService invoiceDetailApprovalService;
    
    @Inject
    @Qualifier("invoiceHeaderApprovalService")
    private IInvoiceApprovalService invoiceHeaderApprovalService;

    @Inject
    private IBatchApprovalService paymentBatchApprovalService;
    
}

 

 

 

 

 

 

 

 

 

 

 

 

相关文章:

  • 2022-01-16
  • 2022-12-23
  • 2021-09-19
  • 2020-05-03
  • 2021-11-11
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-05
  • 2022-01-03
  • 2021-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案