Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 未找到SpringJPABean异常_Java_Spring Boot_Spring Data Jpa - Fatal编程技术网

Java 未找到SpringJPABean异常

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

我在我的项目中使用SpringJPA。我的存储库bean没有被调用。我得到一个空点异常

我的存储库是:

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>{
}