2017-02-15 14 views
7

मैं के साथ वसंत बूट + स्प्रिंग डाटा जेपीए काम कर रहा हूँ और इस समस्या को जब एक वर्ग फैली कि CrudRepository इंजेक्षन करने की कोशिश कर सामना करना पड़ रहा:स्प्रिंग बूट जेपीए CrudRepository

की वजह से: org.springframework.beans.factory.BeanCreationException : त्रुटि नाम के साथ सेम बनाने 'topicRepository': मिलान निर्माता को हल नहीं किया जा सका (संकेत: सरल मापदंडों के लिए सूचकांक/प्रकार/नाम तर्क निर्दिष्ट प्रकार अस्पष्टता से बचने के लिए)

भंडार वर्ग:

012,
public interface TopicRepository extends CrudRepository<Topic, Integer> {} 

सेवा वर्ग:

@Service 
public class TopicService { 

     @Autowired 
     private TopicRepository topicRepository; 
} 

कोई सुझाव?

+0

क्या आपके पास अपने इंटरफ़ेस पर '@ रिपोजिटरी 'एनोटेशन है? यदि हां इसे हटा दें। – Patrick

+0

नहीं, मेरे पास इंटरफ़ेस पर @ रिपोजिटरी एनोटेशन नहीं है, कक्षाएं इस पोस्ट में बिल्कुल दिखती हैं। धन्यवाद। –

+0

आमतौर पर यह पर्याप्त होना चाहिए। क्या आपके पास विषय सेवा या किसी अन्य XML कॉन्फ़िगरेशन पर कोई डिफ़ॉल्ट डिफॉल्ट कन्स्ट्रक्टर है? – Patrick

उत्तर

0

सुनिश्चित करें:

1) TopicRepository @Repository साथ टिप्पणी की जाती है। मैं एक ही मुद्दा हो रही थी

<jpa:repositories base-package="mypkg.repositories"></jpa:repositories> 
+1

नहीं डालें, दोनों को करना जरूरी नहीं है। – Patrick

+0

वसंत डेटा स्कैन रिपोजिटरी, JPARepository इत्यादि का विस्तार करने के लिए स्कैन करता है। वसंत डेटा के लिए @ रिपोजिटरी एनोटेशन की आवश्यकता नहीं है। – gkatzioura

+0

स्प्रिग spec https://docs.spring.io/spring-data/jpa/docs/current/reference/html/ के अनुसार, आपको उस कॉन्फ़िगरेशन को JavaConfig - @EnableJpaRepositories या xml के साथ निर्दिष्ट करना चाहिए जैसा कि मैंने निर्दिष्ट किया है –

8

, और मैं वसंत बूट संस्करणों स्विचन द्वारा यह तय:

2) आप स्कैनिंग संकुल कॉन्फ़िगर नहीं है। स्प्रिंग डेटा जेपीए संस्करणों को बदलने से कुछ भी नहीं हुआ (यह वह जगह है जहां मुझे लगता है कि बग होगा), इसलिए मुझे लगता है कि स्प्रिंग बूट संस्करण 1.5.1 में एक बग है। मैंने संस्करण 1.4.3 पर वापस स्विच किया और त्रुटि चली गई। मैंने बाद के/अलग संस्करणों का प्रयास नहीं किया, इसलिए आपको बस अपनी निर्भरताओं और उनके संस्करणों के साथ प्रयोग करना होगा।

रिकॉर्ड के लिए, आप अपनी सेवा वर्ग @Repository साथ एनोटेट हो सकता है, यह कोई फर्क नहीं करना चाहिए। मैं इन ऐप्स को सेवा/दाओ पैटर्न का उपयोग करके उसी तरह स्थापित कर रहा हूं, और यह एनोटेशन के साथ कभी भी ज्यादा पसंद नहीं आया है। उम्मीद है कि यह उन लोगों की मदद कर सकता है जिनके वसंत बूट विकास प्रवाह अचानक एक त्रुटि फेंकता है!

2

वसंत-डेटा-कॉमन्स और वसंत-डेटा-जेपीए के कौन से संस्करण आप उपयोग कर रहे हैं। मैं बस वसंत-डेटा-जेपी 1.10.x के साथ वसंत-डेटा-कॉमन्स 1.13.x का उपयोग करके इसमें भाग गया। वसंत-डेटा-जेपीए को 1.11.x तक अपग्रेड करने के लिए मेरे लिए समस्या तय की गई।

0

मुझे वसंत बूट को 1.5.4 पर अपडेट करने के बाद भी एक ही समस्या थी।

मैं भी spring-data-envers, जो संस्करण 1.0.4 पर था का उपयोग कर रहा हूँ। 1.4.1 में अपग्रेड करने से समस्या हल हो गई।

मुझे आशा है कि यह मदद करता है किसी को :)

0

1.5.2 पर एक ही मुद्दा था। 1.5.5 तक बढ़ने से समस्या हल हो गई।

संबंधित मुद्दे