Moje repozytorium nie może zostać zainicjowane automatycznie podczas używania Spring Data JPA
Próbuję dodać dane wiosna jpa do mojego projektu internetowego spring-mvc po zapoznaniu się z kilkoma samouczkami. Ale odkryłem, że moje repozytorium nie może zostać zainicjowane automatycznie, w klasie usług dostałem NullPointerException. Zobacz mój następujący przykładowy kod:
Moje repozytorium:
<code>public interface SubjectRepository extends JpaRepository<PSubject, String>{ public Page<PSubject> findByType(String title, Pageable pageable); public Page<PSubject> findByType(String title); public Page<PSubject> findByMacaddress(String macaddress, Pageable pageable); public Page<PSubject> findByMacaddress(String macaddress); public Page<PSubject> findByUri(String uri); </code>
}
Mój kontroler :
<pre><code>@Controller
@RequestMapping("/subject")
public class VPSubjectController
{
....
@RequestMapping("/{id}.htm")
public ModelAndView detail(@PathVariable String id)
{
ModelAndView mav = new ModelAndView("subject/detail");
PSubject subject = subjectService.get(id);
....
}
}
</code></pre>
Moja usługa :
<code>@Service("subjectService") public class SubjectServiceImpl extends VPService implements SubjectService { @Autowired private SubjectRepository subjectRepository; ...... @Override @Transactional(propagation=Propagation.REQUIRED, readOnly=true) public PSubject get(String subject) { PSubject subObj = subjectRepository.findOne(subject); return subObj; } ..... </code>
Moja konfiguracja:
<code><?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:util="http://www.springframework.org/schema/util" xmlns:jpa="http://www.springframework.org/schema/data/jpa" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd"> .... <jpa:repositories base-package="com.mypacke.repository" repository-impl-postfix="Impl" entity-manager-factory-ref="entityManagerFactory" transaction-manager-ref="transactionManager"/> </code>
....
Znalazłem w tej linii subjectRepository.findOne (subject), subjectRepository ma wartość null, Moje pytanie jest podobne do tegosłupek