मैं हाइबरनेट वैलिडेटर बीन बनाने की कोशिश कर रहा था, और इस समस्या में एक और कक्षा में स्थैतिक फैक्ट्री विधि से एक बीन बनाने की कोशिश कर रहा था। मुझे अपना वैलिडेटर बीन प्रारंभ करने के लिए एक वसंत तरीका मिला (नीचे समाधान), लेकिन समस्या स्वयं ही बनी हुई है। वैलिडेटर का उदाहरण यहां उदाहरण के रूप में प्रयोग किया जाता है।स्प्रिंग बीन को दूसरी कक्षा से स्थैतिक विधि से शुरू करना?
यह कैसे मैं जावा में सत्यापनकर्ता उदाहरण बनाने
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
यह मैं कैसे applicationContext.xml में सेम बनाने की कोशिश की है
<bean id="validatorFactory"
class="javax.validation.ValidatorFactory"
factory-method="javax.validation.Validation.buildDefaultValidatorFactory" />
<bean id="validator"
class="javax.validation.Validator"
factory-bean="validatorFactory"
factory-method="getValidator" />
क्या मुझे समझ में है कि "कारखाना है विधि "आप केवल" कक्षा "पैरामीटर में परिभाषित कक्षा में परिभाषित स्थिर विधियों तक पहुंच सकते हैं। चूंकि विधि buildDefaultValidatorFactory() स्थिर है मैं नहीं कर सकते मान्यता का एक उदाहरण बना सकते हैं और के रूप में इस तरह validatorFactory के लिए "कारखाने में सेम" यह दे:
<bean id="validation" class="javax.validation.Validation" />
<bean id="validatorFactory"
class="javax.validation.ValidatorFactory"
factory-bean="validation"
factory-method="buildDefaultValidatorFactory" />
यह संदेश त्रुटि के लिए
समाप्त होता है " जाँच करें कि निर्दिष्ट नाम के साथ एक विधि मौजूद है और यह है कि गैर स्थिर "
प्रश्न कैसे आप वसंत में एक स्थिति के इस प्रकार में सेम बन जाएगा है?
<bean id="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/>
कक्षा का नाम यह दिखाने के लिए है कि मैं क्या करना चाहता हूं। जैसा कि मैंने कहा "मैं समझता हूं कि" फैक्ट्री-विधि "में आप केवल" कक्षा "पैरामीटर में परिभाषित कक्षा में परिभाषित स्थिर विधियों तक पहुंच सकते हैं।" – Spaideri
यह सही है - यदि आप 'कक्षा' पैरामीटर देते हैं, तो फैक्ट्री विधि उस वर्ग की एक स्थिर विधि होनी चाहिए, जैसा कि 'validatorFactory' के निर्माण में देखा गया है। –