簡體   English   中英

Spring JPA bean找不到異常

[英]Spring JPA bean not found exception

我在我的項目中使用Spring JPA。 我的存儲庫bean沒有被調用。 我得到一個空的pointerException。

我的存儲庫是:

public interface UserRepository extends JpaRepository<User, Long>{

}

我的實體網址:

@Entity
@Table(name = "user")
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    long id;

    @Column(name = "emailid")
    String emailId;

    @Column(name="role")
    UserRole role;


}

我的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";
}

日志顯示此錯誤:

com.tree.employeeapp.controller.treeAppsControllerImpl中的構造函數的參數0需要找不到“ com.tree.employeeapp.repository.UserRepository”類型的Bean。 行動:考慮在您的配置中定義類型為“ com.tree.employeeapp.repository.UserRepository”的bean。

將UserRepository標記為存儲庫

@Repository
public interface UserRepository extends JpaRepository<User, Long>{
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM