Java 未找到SpringJPABean异常
我在我的项目中使用SpringJPA。我的存储库bean没有被调用。我得到一个空点异常 我的存储库是:Java 未找到SpringJPABean异常,java,spring-boot,spring-data-jpa,Java,Spring Boot,Spring Data Jpa,我在我的项目中使用SpringJPA。我的存储库bean没有被调用。我得到一个空点异常 我的存储库是: public interface UserRepository extends JpaRepository<User, Long>{ } 我的JPA配置: @Configuration @EnableJpaRepositories(entityManagerFactoryRef = "appentitymanagerfactory", transactionManagerRef
public interface UserRepository extends JpaRepository<User, Long>{
}
我的JPA配置:
@Configuration
@EnableJpaRepositories(entityManagerFactoryRef = "appentitymanagerfactory",
transactionManagerRef = "apptransactionmanager",
basePackages = "com.tree.employeeapp.entity")
public class JpaConfiguration {
@Bean
(name = "appentitymanagerfactory")
public LocalContainerEntityManagerFactoryBean externalEntityManagerFactory(
EntityManagerFactoryBuilder builder, @Qualifier("employeeappdatasource") DataSource dataSource) {
return builder.dataSource(dataSource)
.packages("com.tree.employeeapp.entity")
.build();
}
@Bean(name = "apptransactionmanager")
public PlatformTransactionManager barTransactionManager(
@Qualifier("appentitymanagerfactory") EntityManagerFactory
entityManagerFactory
) {
return new JpaTransactionManager(entityManagerFactory);
}
}
我的控制器是:
@Controller
public class treeAppsControllerImpl implements treeAppsController{
private UserRepository userRepository;
@Autowired
public treeAppsControllerImpl(UserRepository userRepository) {
this.userRepository = userRepository;
}
@Override
public String getAllUsers(Model model) {
List<Users> listOfUsers = new ArrayList<>();
for(User user: userRepository.findAll())
listOfUser.add(user);
List<User> listOfUser = UserRepository.findAll();
model.addAllAttributes(listOfUsers);
return "getAllUsers";
}
@控制器
公共类treeAppsControllerImpl实现treeAppsController{
私有用户存储库用户存储库;
@自动连线
公共树AppsControllerImpl(用户存储库用户存储库){
this.userRepository=userRepository;
}
@凌驾
公共字符串getAllUsers(模型){
List listOfUsers=new ArrayList();
for(用户:userRepository.findAll())
添加(用户);
List listOfUser=UserRepository.findAll();
model.addAllAttribute(用户列表);
返回“getAllUsers”;
}
日志显示此错误:
com.tree.employeeapp.controller.treeAppsControllerImpl中构造函数的参数0需要找不到“com.tree.employeeapp.repository.UserRepository”类型的bean。
行动:
考虑在您的配置中定义一个类型为COM.Tr.TeaMeApp.RealSturial.UsSealSo蓄的bean。< /强> < P> Mark UserRepository作为存储库
@Repository
public interface UserRepository extends JpaRepository<User, Long>{
}
@存储库
公共接口用户存储库扩展了JpaRepository{
}
考虑在您的配置中定义“com.tree.employeeapp.repository.UserRepository”类型的bean。您定义了吗?我注意到您的代码中既有caps也有camel-case-UserRepo。这是可能的,但我已经读到,当我们使用@EnableJPARepository时,Spring会自动创建JPARepository扩展接口的bean。这是一个存储库层。如果有20个不同的存储库DAO层呢?UserRepository
是否实际在包中,com.tree.employeeapp.entity
,如@EnableJpaRepositories\35; basePackages
所示?不,它在com.tree.employeeapp.Repository中,那么应该在basePackages
点的位置。
@Repository
public interface UserRepository extends JpaRepository<User, Long>{
}