I want to start using Spring Data so I can use JpaRepository, but for some reason injecting the repository fails (NullPointerException)
I added this dependency to my pom.xml
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.4.2.RELEASE</version>
</dependency>
This is my beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="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/data/jpa
http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">
<beans:bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<beans:property name="persistenceUnitName" value="primary"/>
</beans:bean>
<beans:bean id="transactionManagerFactory" class="org.springframework.orm.jpa.JpaTransactionManager">
<beans:property name="entityManagerFactory" ref="entityManagerFactory"/>
</beans:bean>
<repositories base-package="com.shishi.myproject" />
</beans:beans>
This is my repository
package com.shishi.myproject.repositories;
@Repository
public interface TestRepository extends JpaRepository<TestEntity, Long> {
}
When I try to call, for instance, findAll(), I get a NullPointerException
@Named
public class TestService {
@Autowired
private TestRepository testRepository;
public List<TestEntity> findAll() {
return testRepository.findAll(); // NullPointer
}
}
am I missing something?
Thanks for any help
//EDIT
@Named
@RequestScoped
public class TestController {
@Inject
private TestService testService;
public void handleTest() {
// Is called on button click on website
// <p:commandButton actionListener="#{testController.handleTest}" process="@this" />
for (TestEntity testEntity : testService.findAll()) {
System.out.println(testEntity.getName());
}
}
}