Spring boot说它需要一个特定的bean

K.N*_*ehe 5 java spring spring-boot

这是userService类,它需要一个com.example.repository.userRepository无法找到的bean类型

package com.example.services;

import javax.transaction.Transactional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.example.modal.User;
import com.example.repository.userRepository;


@Service
@Transactional
public class UserService {

 @Autowired
 private userRepository userRepository;


 public UserService() {
    super();
}

public UserService(userRepository userRepository)
 {
     this.userRepository = userRepository;
 }

 public void saveMyuser(User user) {
     userRepository.save(user);
 }
}
Run Code Online (Sandbox Code Playgroud)

错误消息显示:

考虑'com.example.repository.userRepository'在配置中定义类型的bean .

这是存储库:

package com.example.repository;

import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;


import com.example.modal.User;


public interface userRepository extends CrudRepository<User,Integer> {

}
Run Code Online (Sandbox Code Playgroud)

这是应用程序类

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;

@SpringBootApplication
public class TutorialProjectApplication {

public static void main(String[] args) {
    SpringApplication.run(TutorialProjectApplication.class, args);
}
Run Code Online (Sandbox Code Playgroud)

}

Suk*_*ngh 5

好像userRepositoryinterface不在spring-boot默认扫描之外,即该存储库接口的包不相同或不是类的子包@SpringBootApplication。如果是这样,则需要添加@EnableJpaRepositories("com.example.repository")主类。

更新:查看更新后的帖子后,您需要添加@EnableJpaRepositories("com.example.repository")TutorialProjectApplication课程中