2016-05-04 5 views
1

Ich habe Schnittstelle mit crud Repository:Can t autowired CRUD Repository

public interface LekarDao extends CrudRepository<Lekarfizo, Long> { 

    Lekarfizo findByBrojLicence(String brojLicence); 
    } 

Und ich habe Dienst:

@Service 
@Transactional 
public class LekarDaoImpl { 

@Autowired 
private LekarDao lekarDao; 


public Lekarfizo nadjipoIdu(String jmbg){ 

    return lekarDao.findByBrojLicence(jmbg); 
} 

Mein xml:

<context:annotation-config /> 
<context:component-scan base-package="com.dao" /> 
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" /> 
    <jpa:repositories base-package="com.dao"/> 
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean"> 
<property name="persistenceUnitName" value="ProjekatOrdPU" /> 
</bean> 

<bean id="transactionManager"class="org.springframework.orm.jpa.JpaTransactionManager"> 
<property name="entityManagerFactory" ref="entityManagerFactory" /> 
</bean> 
<tx:annotation-driven transaction-manager="transactionManager" /> 

Ich habe Fehler:

verursacht durch: org.springframework.beans.factory. BeanCreationException: Feld konnte nicht autodirektiert werden: private com.dao.LekarDao com.dao.LekarDaoImpl.lekarDao; verschachtelte Ausnahme ist org.springframework.beans.factory.BeanCreationException: Fehler beim Erstellen von Bean mit dem Namen 'lekarDao': Aufruf der init-Methode fehlgeschlagen; verschachtelte Ausnahme ist java.lang.NoClassDefFoundError: org/springframework/Daten/Repository/Abfrage/QueryByExampleExecutor

Ich weiß wirklich nicht, was ich falsch mache. Ich benutze Spring 4.0.1, spring-data-jpa 1.10.1, spring-data-commons 1.10.0.

+0

Wenn Sie Maven Post Ihr POM verwenden. –

+0

Das Javadoc für QueryByExampleExecutor merkt an, dass dieses Interface in Spring-Data-Commons von ** v1.12 ** existiert: siehe http://docs.spring.io/spring-data/commons/docs/current/api/index. html? org/springframework/data/repository/query/QueryByExampleExecutor.html. Sie scheinen einen Bibliothekskonflikt zu haben. Verwenden Sie einen Abhängigkeitsmanager? –

+0

ich benutze maven nicht einfach herunterladen jar, spring-commons-data 1.10.0 und spring data jpa 1.10.1 –

Antwort

4

Das Javadoc für QueryByExampleExecutor merkt an, dass diese Schnittstelle zu spring-data-commons von v1.12 hinzugefügt wurde, damit Spring-data-jpa 1.10 eine Abhängigkeit von spring-data-commons 1.12 und nicht von 1.10 hat momentan haben.

http://docs.spring.io/spring-data/commons/docs/current/api/org/springframework/data/repository/query/QueryByExampleExecutor.html

public interface QueryByExampleExecutor Interface to allow execution of Query by Example Example instances. Since: 1.12

Altough Sie sich nicht mit Maven sind, können Sie, indem Sie in der Feder-data-JPA 1.10 JAR-Datei die erforderlichen Versionen von irgendwelchen Abhängigkeiten bestätigen. In der Datei META-INF/maven/org.springframework.data/spring-data-jpa/pom.xml.

Dies hat folgenden Eigenschaftssatz:

<springdata.commons>1.12.1.RELEASE</springdata.commons> 

Verwalten von Abhängigkeiten manuell äußerst schwierig werden, auf etwas anderes als die einfachsten Projekte. Sie sollten mit einem Build-Tool wie Maven oder Gradle aussehen.

+0

Ja, ist Arbeit gut, Tnx! –

Verwandte Themen