मैं एक सेवा इंटरफ़ेस ServiceInterface
और यह लागू करने के घटकों के एक जोड़े के साथ निम्नलिखित संरचना है कहते हैं: ProductAService
और ProductBService
मैं भी एक RequestContext
सेम एक योग्य संपत्ति है कि है का कहना है कि है कि हम कहते हैं कि कर रहे हैं वर्तमान में उत्पाद ए या उत्पाद बी प्रसंस्करण। फिर ऑटोवॉयरिंग या अन्य एनोटेशन के साथ स्वचालित रूप से सही कार्यान्वयन (ProductAService या ProductBService) को उस सेवा में कैसे इंजेक्ट कर सकते हैं, जिसकी आवश्यकता है (ServiceThatNeedsServiceInterface
नीचे)।वसंत में कस्टम Autowire उम्मीदवार सेम 3
public interface ServiceInterface {
void someMethod();
}
@Component(name="ProductAService")
public class ProductAService implements ServiceInterface {
@Override public void someMethod() {
System.out.println("Hello, A Service");
}
}
@Component(name="ProductBService")
public class ProductBService implements ServiceInterface {
@Override public void someMethod() {
System.out.println("Hello, B Service");
}
}
@Component
public class ServiceThatNeedsServiceInterface {
// What to do here???
@Autowired
ServiceInterface service;
public void useService() {
service.someMethod();
}
}
@Component
@Scope(value = WebApplicationContext.SCOPE_REQUEST)
public class RequestContext {
String getSomeQualifierProperty();
}
बिंगो! यह सही जवाब है। मुझे लगता है कि एक्सएमएल कॉन्फ़िगरेशन का छोटा सा हिस्सा नहीं है। – Strelok