Теперь я читаю официальный документ Guice, и я увидел этот код.Значение аннотации привязок с помощью методов провайдера
@Provides @PayPal
CreditCardProcessor providePayPalCreditCardProcessor(
@Named("PayPal API key") String apiKey) {
PayPalCreditCardProcessor processor = new PayPalCreditCardProcessor();
processor.setApiKey(apiKey);
return processor;
}
В коде выше, что это @PayPal
значит? На странице документа я понимаю смысл оригинальных аннотаций привязки. Мы можем настроить его. Но это так.
@Inject
public RealBillingService(@PayPal CreditCardProcessor processor,
TransactionLog transactionLog)
В коде, @PayPal
означает этот параметр processor
должен быть введен экземпляр, указанный в аннотации. Итак, что именно это означает в первом коде?